ProfStef: Tipos básicos: Array

pharo

Tutorial do Pharo.

Abra o tutorial em português do ProfStef na lição Tipos básicos: Array.

pharo6-pharo-tutorials-submenu

pharotut-profstef-br-array-lesson

Arrays são objetos e podem receber mensagens como todo objeto. Representam um conjunto de objetos.

Inspecione as várias expressões para apreender detalhes sobre os retornos das expressões.

A inspeção de #(1 2 3) revela que o array contém 3 SmallIntegers.

pharotut-literal-array-inspected

A avaliação da expressão #( 1 2 3 #(4 5 6)) size retorna 4 (Print it). Uma inspeção revela que o quarto elemento é um Array.

pharotut-literal-array-with-last-as-array-inspected

Vamos nos concentrar na expressão #(‘hello’ ‘World’) at: 2 put: ‘Pharo’; yourself. As outras são razoavelmente evidentes.

pharotut-literal-array-at-put-and-yourself.png

A expressão #(‘hello’ ‘World’) at: 2 put: ‘Pharo’; yourself merece uma pequena explanação.

O ; (ponto e vírgula) entre as expressões #(‘hello’ ‘World’) at: 2 put: ‘Pharo’ e yourself é um operador de cascata e será alvo de uma lição posterior. Ele faz com que a mensagem yourself seja enviada ao objeto #(‘hello’ ‘World’) e não ao resultado da expressão #(‘hello’ ‘World’) at: 2 put: ‘Pharo’. yourself retorna o próprio objeto que recebeu a mensagem yourself que é, no caso, #(‘hello’ ‘World’) modificado que se tornou #(‘hello’ ‘Pharo’).

Sem o uso de yourself a expressão retornaria ‘Pharo’ e não poderíamos ver a modificação causada pela mensagem #at:put: no array original.

pharotut-literal-array-at-put-without-yourself.png

Nota:

Por convenção no Smalltalk a mensagem #at:put: retorna o segundo argumento em vez do objeto que recebeu a mensagem (o default no Smalltalk, como veremos no futuro).

Voltar à página do tutorial.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s