Imagine o exemplo abaixo:

@page = params[:page] ? params[:page].to_i : 1

Ele pode ser escrito de maneiras diferentes:

@page = [params[:page].to_i, 1].max
@page = (params[:page] || 1).to_i

No entanto, o José Valim mostrou um método do Hash que eu não conhecia: fetch.

@page = params.fetch(:page, 1).to_i

Definitivamente, uma solução muito mais elegante que todas as outras! Para saber mais, veja a documentação.

Comentários #

#1 Tino Gomes disse:
20 Jul 09, 05:11PM

Fiz um benchmark rápido avaliando as opções e o de fetch fou o melhor entre os quatro, tanto quando o hash contêm o valor, quando não tem.

http://gist.github.com/150863

#2 Nando Vieira disse:
21 Jul 09, 12:40AM

Genial, Tino! Mais um motivo para usar fetch!

#3 PotHix disse:
21 Jul 09, 09:40AM

Æ!!

Muito legal Nando!
Valeu por compartilhar essa com a gente, o José Valim é coding machine! haha

Valeu pelo benchmark Tino! Acho que acabou de vez com as dúvidas de qual usar! :P

Há braços

#4 Jonas Galvez disse:
21 Jul 09, 01:09PM

Hehe, essa é uma das coisas que eu tive que procurar no Ruby, porque eu já uso dict.get(key, default) no Python (que aliás é Python idiomático, best practice e tal). Muito mais prático.

Deixe um comentário





Não é aceito código HTML: adicione-o no pastie.org ou paste.milk-it.net e poste apenas o link.

Se este é seu primeiro comentário, ele terá que ser aprovado antes de ser exibido.

jQuery: Dominando o framework

Você quer aprender a usar jQuery de verdade? Então chegou a hora! Neste workshop você verá como funciona este framework de JavaScript, entendendo todos os aspectos que fazem do jQuery uma das melhores ferramentas para desenvolvimento de interfaces.

Saiba mais Fechar

Conheça também o HOWTO