Hamamatsu.rb #88

ということで昨日はHamamatsu.rb #88。
今回は「プロを目指す人のためのRuby入門」の4章の中盤まで。内容としては配列の処理とかブロックの使い方とか。
 
RGB変換メソッドの例題で、injectを使って文字列を結合するやり方はすごい洒落てるな〜と思った。
とりあえず自分が本を見ずに書いたコードが↓
mapで処理した結果をjoinで結合するというやつ。
"#" + [r, g, b].map{|v| v.to_s(16).rjust(2, "0") }.join
 
こちらが本に載っているコード。
文字列の結合にinjectを使うのは目からウロコ。injectって数値計算くらいにしか使いみち無いものだとばっかり思ってたので。
[r, g, b].inject("#"){|ret, v| ret + v.to_s(16).rjust(2, "0") }
 
 
些末なことだけど、他の言語も同時に扱っていると配列操作のメソッドとかで混乱しがちだよねという話をしたり。 
Array#push だと Array.prototype.push() とごっちゃになるから、Array#<< を使ったほうが良いかもね、とか。
あと、pushと<<の細かな違いなどを知ることができてよかった(受け取ることのできる引数の数が違うらしい)
 
何名か初参加の方がいたんだけど、そのうち2名がWebサービスを開発していてそのデモを見せてくれた。熱い。
いずれもRailsで開発してるとのこと。