rubyで配列のブロック処理にmapメソッドを使う
以前は配列にブロック処理をする際はほとんどの場合でeachを使っていたのですが、このmapメソッドを知ったときは目から鱗でした。
mapメソッドとは
mapメソッドは、各要素に対してブロックを評価した結果を新しい配列にして返します。
例えば、次のように配列の各要素を10倍した新しい配列を作るコードがあったとします。
このような処理にmapメソッドを使うと
このように3行で書けます。
mapメソッドを使うと、そのブロックでの戻り値を配列要素とする新しい配列を作成するので、それをそのまま新しい変数に代入することができます。
このように空配列を用意して、他の配列でループ処理した結果を代入していくような処理はよくあります。こういう時はmapメソッドを使った方が良いです。
その他の便利なメソッド
selectメソッド
selectメソッドとは、各要素にブロック処理をし、その戻り値が真の要素だけを集めた配列を返すメソッドです。例えば次のようなコードで、偶数だけを集めた新しい配列を作れます。
rejectメソッド
rejectメソッドは、偽の要素だけを集めた配列を返すメソッドです
↓参考にした書籍です。
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで