RubyのObject#tapを知らなかった…。

Pocket

RubyMotionのサンプルコード呼んでて、

みたいなコードがあったんだけど意味がわからなかった。
いや、意味は予想つくんだけど、 tapってなんやねんって。

iOSのAPIにはそんなメソッドないし、てっきりRubyMotionの便利機能なのかなーとか思ってたら、
なんとRuby(Object)のメソッドだった。

全然知らなかった…。

tapかわいいよtap – (rubikitch loves (Emacs Ruby CUI Books))

結局何なのかというと、「そのオブジェクト自身をブロックに渡して実行して、その後自分自身を返す」メソッドらしい。
単純な例だとこんな感じ。

その他の利用例がtap #Ruby – Qiitaにまとまってた。

ふむふむ、これは便利ねー。
RubyMotionのコードではinitで返って来たオブジェクトのtapを呼んで、
ブロック内で初期化して、その結果を変数に代入してたわけね。

納得。


コメントを残す

Your email address will not be published. Please enter your name, email and a comment.