Aliases em Q

Em Q, a função alias (: 🙂 faz uma variável apontar para outra, para que possamos nos referir a ela por um nome diferente.

Por exemplo:

a : 3
b
:: a
a
: 5
b
/b is now equal to 5

Mas o alias é apenas unilateral; se b for alterado, a não muda junto com ele. Continuando com as atribuições anteriores:

b: 7
a
/a remains equal to 5
a
: 11
b
/b remains equal to 7 - not an alias any more

O intérprete não permite relacionamento de alias bidirecional. Ele detectará ciclos e emitirá um erro:

a: 13
b
:: a /OK
c
:: b /OK
a
:: c / 'loop

Para variáveis ​​que não contêm um átomo, como uma lista, dicionário ou tabela, não se pode alterar componentes individuais:

L: 1 2 3
M
:: L
M
[1] : 4 /`type