Executando verificação de segurança...
Em resposta a Dúvida no Elixir
4

O comentário do @julianolorenzato está correto e acho que já reponde sua dúvida. Mas aqui vai uma curiosidade legal.

Em elixir listas são o que chamamos de listas ligadas, ou linked lists. E em muitos lugares você vai achar a seguinte representação para uma lista dessas:

Linked List

Cada "nó" dessa lista em linguagens funcionais é chamado de Par ou Pair. Onde o primeiro campo do par possui o valor do nó e o segundo em geral é um ponteiro para outro par. Por isso a chamamos de lista ligada. Sabemos onde é o fim da lista quando chegamos no par em que a segunda componente é nula. Por isso em muitas linguagens funcionais null (ou nil) e uma lista vazia são a mesma coisa. Se não me engano elixir é uma delas.

Mas o que acontece se o segundo slot do par não for preenchido com outro par? Bom, aí você tem o caso que você viu. Esse tipo de par não é necessariamente inútil. Em alguns dialetos de Lisp listas como essa em elixir: [[:a | 1], [:b | 2]]. São chamadas de listas associativas. E seria utilizadas de forma similar a maps ou dicionários.

Em Elixir não há necessidade de utilizá-las pós você já possui os maps que são mais eficientes. O que me intriga e confesso que não conheço são as chamadas keyword lists. Que talvez utilizem essa técnica. Bom uma vez que você está estudando a linguagem, talvez você mesmo possa descobrir.

Carregando publicação patrocinada...