Macro Substituição
Abrangência
Versão 5.07 | Versão 5.08 | Versão 6.09 | Versão 7.10 | Versão 8.11 |
Versões Anteriores |
O operador de macro substituição, simbolizado pelo "e" comercial (&), é utilizado para a avaliação de expressões em tempo de execução. Funciona como se uma expressão armazenada fosse compilada em tempo de execução, antes de ser de fato executada. Considere o exemplo:
X := 10 Y := "X + 1" B := &Y // O conteúdo de B será 11
A variável X é atribuída com o valor 10, enquanto a variável Y é atribuída com a string de caracteres contendo "X + 1".
A terceira linha utiliza o operador de macro. Esta linha faz com que o número 11 seja atribuído à variável B. Pode-se perceber que esse é o valor resultante da expressão em formato de caractere contida na variável Y.
Utilizando-se uma técnica matemática elementar, a substituição, temos que na segunda linha, Y é definido como "X + 1", então pode-se substituir Y na terceira linha:
... ... B := &"X + 1"
O operador de macro cancela as aspas:
... ... B := X + 1
O operador de macro tem uma limitação: variáveis referenciadas dentro da string de caracteres (X nos exemplos anteriores) não podem ser locais.