隙あらばinjectでselectとmapを同時に使う
http://rails.office.drecom.jp/takiuchi/archive/85を読みながら.
> [1,2,3].inject([]){|r,e| e != 2 ? r << e.to_s : r} => ["1", "3"]
なるほど,確かにselectとmapを一気に使った結果だなぁ.selectとmapを使うと,こう.
> [1,2,3].select{|e| e != 2}.map{|e| e.to_s} => ["1", "3"]
こんなのも有りか.
> ['sightow','nightow','sudo'].inject([]){|r,e| e =~ /igh/ ? r << e.sub(/igh/,'ai') : r} => ["saitow", "naitow"]
族っポイ書き方禁止!みたいな.
> [1,2,3].inject([]){|r,e| e == 2 ? r << e.to_s : r} => ["2"]
これだとrejectしてmapだぜ,とか言う冗談を思いついた.しょーもな.
selectとmapを同時に使う,使いどころはあるのかな.まずselectを使う場面がそれほど無い.あぁ,injectを使う隙が見つからない.