O hotel aqui em Ambrose não é nem um pouco bom. As camas são todas tortas. O elevador é minúsculo. Um cara pôs toda sua bagagem no elevador e não sobrou mais lugar pra ele. Ele apertou o botão e as perseguiu pelas escadas. Mas as escadas eram muito estreitas e ele ficou entalado tentando subir.
Os mini-sabonetes que eles te dão são dimensionados para gnomos, então é impossível fazer uma espuma. Eu odeio isso. Toda hora eu confundo eles com lentes de contato.
Eu abri a torneira e nada saiu. O caso é o seguinte: Ambrose é um lugar com propriedades mágicas, então eu me arrisquei. Coloquei minha mão embaixo da torneira. Invisível, umidade morna. Eu senti a sensação de água corrente, passando pelos meus dedos. Quando tirei minha mão de lá, elas estavam secas e limpas.
Foi um incrível experiência de vazio total. Foi como nil.
No Ruby, o nil representa o vazio. Ele representa falta de valor. Ele não é zero. Zero é um número.
É um morto-vivo do Ruby, uma palavra chave falecida. Você não pode adicionar à ele, ele não evolui. Mas ele é terrivelmente popular. É este esqueleto sorrindo nas fotos.
copo_plastico = nil
No código acima copo_plastico está vazio. Você pode argumentar que o copo_plastico contém algo, um nil. O nil representa vazio, logo, então, adiante-se e chame-o de vazio.
Alguns de vocês que já programaram antes estarão tentados a dizer que copo_plastico está indefinido (undefined). Que tal não. Quando você diz que uma variável está indefinida, você está dizendo que o Ruby simplesmente não tem lembrança da variável, ele não a conhece, ela absolutamente não existe.
Mas o Ruby está sabendo do copo_plastico. Ruby pode facilmente olhar dentro do copo_plastico. Está vazio, mas não está indefinido.
Retirado do livro http://why.nomedojogo.com/chapter-4.html
0 comentários:
Postar um comentário