
Vi esta dica no blog do Chris Wanstrath, um dos funcionários da Ett Free. Pense em quantas vezes você já fez algo assim:
@person ? @person.name : nil
end
Agora imagine como seria fácil se pudéssemos fazer a mesma coisa assim:
@person.try(:name)
end
Pois é… inclua este código abaixo em seu projeto e seja feliz.
##
# @person ? @person.name : nil
# vs
# @person.try(:name)
send method if respond_to? method
end
end
É engraçado como normalmente as melhores soluções são as mais simples…
2 Comentários
Trackbacks
- O método try() e um objeto nulo
- A better “try()” for Ruby, why not do the Groovy way? | Urubatan’s Weblog
- Nome do Jogo » Blog Archive » Edge Rails: Object#try
Pois é, Carlos!
Essa é uma das coisas que eu sempre usei, mas nunca fiquei feliz olhando para um código assim! Acho que a maior vantagem de Ruby e Rails serem tão simples é que toda a comunidade que trabalha com eles pensa da mesma forma e tenta simplificar ao máximo todas as tarefas!
Abraço e muito sucesso! :D
Felipe Giotto.
Simples e elegante!