Sou novo em Ruby e fiquei surpreso quando descobri que todos os objetos são verdadeiros, exceto nulo e falso. Mesmo 0 é verdadeiro.
Uma coisa boa sobre essa propriedade do idioma é que você pode escrever:
if !variable
# do stuff when variable is nil
end
Meus colegas, que são desenvolvedores Ruby mais experientes, insistem que devo escolher isso em vez de usar .nil? igual a:
if variable.nil?
# do stuff when variable is nil
end
No entanto, acredito que o último seja uma opção melhor por dois motivos: 1. Eu acho que é mais orientado a objetos, especialmente em uma linguagem como Ruby, onde tudo é um objeto e troca de mensagens. 2. É mais legível, na minha opinião, mesmo que seja menos compacto.
Estou cometendo um erro de "novato" aqui?