昔からこのエントリは知っていたんだが新年だし新しいことを始めたいと思ってrubyに触れてみた。
mrubyやmacrubyなどruby周辺はいろいろと楽しそうな動きが活発な印象もあるのでそれも理由だったりする。
今日1日少し触れただけだがrubyが絶賛されているわけが少しわかった。
エントリではperlがクジラのハラワタをぶちまけたような感じの言語と表現されているが rubyは整っていてすごく書きやすいと思った。
例として、配列に要素が存在するか調べるコードでperlとrubyを比較してみる。
まず、perl。
#!/usr/bin/perl5.12 use feature qw/say/; sub find_num { my $x = shift; my @a = 1..10; if(grep {$_ eq $x} @a){ say "Find" }else{ say "Not found" } } find_num(5); # => Find find_num(100); # => Not found
続いて、ruby。
def find_num(x) a = 1..10 if a.include?(x) puts "Find" else puts "Not found" end end find_num(5) # => Find find_num(100) # => Not found
perlのほうはgrepの部分を書くのに一回ググってやらないと書き方が思い出せないぐらいに直感的に書けなかった。
一方rubyはvimの補完がかなり手助けしてくれたがなんとなくこのメソッド使えばいいんだろうなって思ってその通りに動いてくれた。
自分の経験としてはPerlの知識がいくらかあるが(CPANのモジュールを公開するようなレベルでは到底達していない)、それを全部rubyで置き換えたい気分にさせてくれた。
今年はscala(java)とともにrubyも並行して覚えようと思った1日でした。
- 作者: Yugui
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/06/26
- メディア: 大型本
- 購入: 27人 クリック: 601回
- この商品を含むブログ (245件) を見る