DEV Community

Patrícia Villela for Feministech

Posted on

5

Símbolos de APL: atribuição

AVISO! Essa série de artigos usará exemplos rodados em Dyalog APL, a implementação da Dyalog.

AVISO 2! Esse artigo contém exemplos de código. Se você quiser rodá-los, copie e cole as linhas identadas à direita (as linhas identadas à esquerda são os resultados) nesse site: https://tryapl.org

O primeiro símbolo que vou apresentar é .

Esse é o símbolo de "atribuição" ("Assignment" na documentação). A maioria das linguagens de programação usam o símbolo = para esse fim. Em APL, = é reservado para comparação de igualdade.

      a←1
      a
1
Enter fullscreen mode Exit fullscreen mode

A primeira linha atribui o valor 1 para a variável a e a segunda linha a exibe. A terceira linha é o retorno da segunda.

A atribuição não é restrita a valores escalares (que em APL são arrays com uma dimensão).

      a←1 2 3 4
      a
1 2 3 4
Enter fullscreen mode Exit fullscreen mode

A atribuição também serve para outras coisas, como redirecionamento para o display usando o caracter (é um quadrado mesmo, chamado "Quad", não é erro de encoding. Esse símbolo será elaborado em outro artigo).

      ⎕←a←1
1
Enter fullscreen mode Exit fullscreen mode

Assim como em linguagens mais populares hoje em dia, é possível atribuir uma modificação, como por exemplo um incremento.

      a
1
      a+←1
      a
2
      a-←1
      a
1
      a×←10
      a
10
Enter fullscreen mode Exit fullscreen mode

Também é possível fazer atribuição de arrays de mesmas dimensões. O efeito disso é a distribuição dos valores nas variáveis listadas.

      a b c←1 2 3
      a
1
      b
2
      c
3
Enter fullscreen mode Exit fullscreen mode

Por enquanto é isso. Em resumo pode-se entender esse símbolo como um símbolo de transferência de valor, tanto para uma variável, quanto para o display.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

The Most Contextual AI Development Assistant

Pieces.app image

Our centralized storage agent works on-device, unifying various developer tools to proactively capture and enrich useful materials, streamline collaboration, and solve complex problems through a contextual understanding of your unique workflow.

👥 Ideal for solo developers, teams, and cross-company projects

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay