blog.takuyan.com

Ruby & Javascript & Hack

コードを圧縮するRubyの黒魔術

f:id:kattton:20100316003450j:image
まあ、行数的な意味で。正直、黒魔術でもなんでもないんですけど。


Rubyの黒魔術

Rubyでプログラム書いてると、結構コードが短くなるよなーとおもうので、
ちょっとインスパイアされて書いてみる。

コレクションを使う


よくあるカタチを短くできる。

Before
managers = []
employees.each do |e|
  managers << e if e.manager?
end
After
managers = employees.select{|e| e.manager?}
Before
friends = []
people.each do |person|
  friends << person if person == "Aon"
  friends << person if person == "Bon"
  friends << person if person == "Con"
  friends << person if person == "Don"
  friends << person if person == "Eon"
end
After
friends = people.select do |person|
  %w[Aon Bon Con Don Eon].include? person
end

こんなかんじか。
やっぱり書いてて楽しいなー


最近はリファクタリングの勉強中。
高いけど、結構楽しい。オススメ。

リファクタリング:Rubyエディション

リファクタリング:Rubyエディション


あと、最近このサービス作った。
これについては、また今度書こうとおもう。