rubyでcaseを使ってもうちょっといい感じに書けないものかな?
と思っていたら。。
Rubyのcaseを〇〇(言語名)のswitch文だと思っている人たちにぼくから一言ガツンと申し上げたい
つまりこんな書き方が出来る。
obj = 'hoge piyo fuga' other_obj = {} val = begin case obj when nil then 'nilでした' when other_obj then '他といっしょ' when ->p{p.is_a?(Hash)} then 'Hashです' when ->p{p.is_a?(String) && p.split(' ').include?('hoge')} then 'hoge' else 'parse error' end end p val #=> "hoge"
すごいですね-。