はじめに
kawasaki.rbに参加してきました。
Perfect Ruby読書会
- 作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一
- 出版社/メーカー: 技術評論社
- 発売日: 2013/08/10
- メディア: 大型本
- この商品を含むブログ (22件) を見る
5.5.1 Enummerableなオブジェクト > ブロックを評価した結果の配列
まぁmapとか出てきたんですが、一番びっくりしたのはgrepですね。
===で比較して、マッチしたものを返すようですが、===の挙動が引数にとるobjectによって違うと。
Regexp
正規表現マッチ。
irb(main):042:0> array = [1, 2, "String", "string", "integer"] => [1, 2, "String", "string", "integer"] irb(main):043:0> array.grep(/^s/) => ["string"]
Module
そのクラスに属するかどうか。
irb(main):045:0> array.grep(String) => ["String", "string", "integer"] irb(main):046:0> array.grep(Integer) => [1, 2]
ブロック
irb(main):048:0> array.grep(String) {|str| str.upcase} => ["STRING", "STRING", "INTEGER"]
なるほど。
Enumerableモジュール
今回はarrayを例にしましたが、hashやstructもそうですね。数え上げることができる、ってことで.all?やany?といったメソッドをだしています。このへん今までまったく使ったことなくてはじめて知りましたね。
おわりに
わずか15分程度の読書会でたくさん発見あったので、勉強会、大切。そしてアウトプットする週間がついてからインプットの場に行くとその効果を実感。またkawasaki.rbいきます!