2008年9月29日月曜日

あなたのコードでもぜひ使うべきRubyの21の小技

知っていると非常に便利そうなRubyの小技集

21 Ruby Tricks You Should Be Using In Your Own Code
(http://www.rubyinside.com/21-ruby-tricks-902.html)

Rubyビギナーには目がクラクラしそうなコードが並んでるけど、こういうのを自然に使いこなせたらできる人に見えるかも。

サンプルとしてふたつほど抜粋

and と or を使って処理をグループ化する

queue = []
%w{hello x world}.each do |word|
queue << word and puts "Added to queue" unless word.length < 2
end
puts queue.inspect

# Output:
# Added to queue
# Added to queue
# ["hello", "world"]

今まではこんな風に書いてました...
queue = []
%w{hello x world}.each do |word|
unless word.length < 2
queue << word
puts "Added to queue"
end


文字列やシンボル以外をハッシュのキーに使う
does = is = { true => 'Yes', false => 'No' }
does[10 == 50] # => "No"
is[10 > 5] # => "Yes"

今まではこんな風に書いてました...とうか真偽値をキーに使えるなんて知りませんでしたよ。
does = is = { true => 'Yes', false => 'No' }
bool1 = 10 == 50
does[bool1] # => "No"
bool2 = 10 > 5
is[bool2] # => "Yes"


可読性とのかねあいもあるけど、短くワンラインで書けるならそっちの方がいいように個人的には思います。

0 件のコメント: