RubyでCoffeeScriptっぽい?コールバックを書く

Pocket

Ruby Weeklyより。Callbacks and Rubyという記事でRubyでCoffeeScriptっぽい?コールバックを書く例が紹介されていて、あんまりRubyでは見ないコードなので面白いなーと思いました。

どんなコードなの?

こんなコード。そこはかとなくCoffeeScriptぽい。

Rubyでよく見るのはこんな感じに、ブロックで書く感じのコードだと思います。

ハッシュで書く利点は可読性が上がる点だと思うのですが、反面「on_success、on_failureというキーと値を設定しなければならない」というインターフェースが定義されているわけではないので、ドキュメントなどを用意しないと使い方がわかりにくい、というのが難点な気がします。

これはJavaScriptでも同じなんですが、JavaScriptの場合はよくあるパターンすぎて一般的になっているのに対して、Rubyだとあんまり見ないので、ギョっとしてしまいますね。

ObjectiveCでもよくあるコードですが、ObjectiveCの場合は型宣言があるので、読み解きやすいです。

そんな感じで善し悪しのあるコードではありますが、使いどころのあるテクニックではあります。具体的な実装方法については、Callbacks and Rubyをご覧ください。