engcomp: Se os dois (ou mais) resultados forem atribuídos a variáveis, basta declará-los como globais e atribuir valores a eles na função.
É considerada uma boa prática de programação para minimizar o número de variáveis globais. É melhor passar algumas variáveis por referência (se mais de uma variável precisar ser devolvida) do que declará-las em um escopo global.
gordon: É considerada uma boa prática de programação para minimizar o número de variáveis globais. É melhor passar algumas variáveis por referência (se mais de uma variável precisar ser devolvida) do que declará-las em um escopo global.
irusoh1 está certo: a variável não precisa ser uma matriz. Por exemplo:
Minha fraseologia e conceito está incorreta ao responder ao tópico então. Ainda assim, vejo que o propósito de passar por referência é em essência a maneira prática de manipular Array(s) por função.
O uso de parâmetro passado como função de referência em variáveis tem apenas a praticidade de modificar X número de variável(s), mais uma variável com retorno
Ao utilizá-lo para o Array permite modificar o número X de Arrays nos parênteses vezes Y de cada tamanho de Array.
Arrays ae sempre passado por referência. O problema com as arrays MQL é que elas não podem ser alteradas dentro da função (como o redimensionamento) somente seus membros podem.
Não faz sentido, e limita o escopo da manipulação de matrizes.
[...] O problema com as matrizes MQL é que elas não podem ser alteradas dentro da função (como o redimensionamento) only their members can.
@ irusoh1 : Você quer dizer tornar os parâmetros da funçãodinâmicos ? Eu também não entendo.
@ Gordon : Você sabe por que eles dizem 'os parâmetros são passados por valor'. Os arrays só podem ser passados por referência". Sei como isso aconteceria no código, mas não entendo o raciocínio. Por exemplo, há alguma ocorrência em outro idioma onde este não é o caso? ou seja, os arrays são passados por valor ou algo assim. Eu não saberia qual seria o oposto dessa regra,,
@ Gordon : Você sabe por que eles dizem "os parâmetros são passados por valor". As arrays só podem ser passadas por referência". Sei como isso aconteceria em código, mas não entendo o raciocínio. Por exemplo, há alguma ocorrência em outro idioma onde este não é o caso? ou seja, os arrays são passados por valor ou algo assim. Eu não saberia qual seria o oposto dessa regra,,
Gordon disse: É considerada uma boa prática de programação minimizar o número de variáveis globais. É melhor passar algumas variáveis por referência (se mais de uma variável precisar ser devolvida) do que declará-las em um escopo global.
Sinto muito, mas não é uma resposta "técnica" :) Você poderia dizer por que é melhor passar variável por referência ao invés de variável global?
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
O que está faltando na explicação do irusoh1 é a variável necessidade de ser Array(s) [...]
O irusoh1 está certo: a variável não precisa ser um array. Por exemplo:
Preciso devolver 2 resultados de uma função.
Se os dois (ou mais) resultados forem atribuídos a variáveis, basta declará-los como globais e atribuir valores a eles na função.
É considerada uma boa prática de programação para minimizar o número de variáveis globais. É melhor passar algumas variáveis por referência (se mais de uma variável precisar ser devolvida) do que declará-las em um escopo global.
irusoh1 está certo: a variável não precisa ser uma matriz. Por exemplo:
Minha fraseologia e conceito está incorreta ao responder ao tópico então. Ainda assim, vejo que o propósito de passar por referência é em essência a maneira prática de manipular Array(s) por função.
O uso de parâmetro passado como função de referência em variáveis tem apenas a praticidade de modificar X número de variável(s), mais uma variável com retorno
Ao utilizá-lo para o Array permite modificar o número X de Arrays nos parênteses vezes Y de cada tamanho de Array.
Arrays ae sempre passado por referência. O problema com as arrays MQL é que elas não podem ser alteradas dentro da função (como o redimensionamento) somente seus membros podem.
Não faz sentido, e limita o escopo da manipulação de matrizes.
Talvez isto tenha sido consertado na MQL5?
[...] O problema com as arrays MQL é que elas não podem ser alteradas dentro da função (como o redimensionamento) somente seus membros podem.
@ irusoh1 : Você quer dizer tornar os parâmetros da função dinâmicos ? Eu também não entendo.
@ Gordon : Você sabe por que eles dizem 'os parâmetros são passados por valor'. Os arrays só podem ser passados por referência". Sei como isso aconteceria no código, mas não entendo o raciocínio. Por exemplo, há alguma ocorrência em outro idioma onde este não é o caso? ou seja, os arrays são passados por valor ou algo assim. Eu não saberia qual seria o oposto dessa regra,,
cameofx:
@ Gordon : Você sabe por que eles dizem "os parâmetros são passados por valor". As arrays só podem ser passadas por referência". Sei como isso aconteceria em código, mas não entendo o raciocínio. Por exemplo, há alguma ocorrência em outro idioma onde este não é o caso? ou seja, os arrays são passados por valor ou algo assim. Eu não saberia qual seria o oposto dessa regra,,
Olá a todos
Gordon disse: É considerada uma boa prática de programação minimizar o número de variáveis globais. É melhor passar algumas variáveis por referência (se mais de uma variável precisar ser devolvida) do que declará-las em um escopo global.
Sinto muito, mas não é uma resposta "técnica" :) Você poderia dizer por que é melhor passar variável por referência ao invés de variável global?
obrigado
Philippe