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