【一人 Ruby Advent Calendar 2017】表参道.rb #29 ~ Module ~【8日目】

一人 Ruby Advent Calendar 2017 8日目の記事になります。
今日は表参道.rb #29 ~ Module ~参加して LT してきたのでそのスライドでも。
今回もご飯が美味しかった

mixin と module について

https://osyo-manga.github.io/slide-omotesandorb-29-mixin/#/

今回は『module がどのように mixin されているのか』みたいな内容を話してきました。 まあ Ruby に詳しい人なら当たり前のような内容なのでそこまで真新しいものではないと思いますが…。 後半で消化したデコレータみたいなのは Rubyprepend を活かしたような実装なのでこれは書いていて楽しかったですね。

補足

スライドの中で

def plus a, b
    a + b
end
decorate :plus, &print_args

みたいなデコレータの紹介をしていたのですが、参加後に 『decorate の第一引数(:plus)を省略したいよね…』 みたいな意見を頂いたのですが、実はこれは下記のように記述することが出気ます。

decorate def minus a, b
    a - b
end, &print_args

上記は何をやっているのかというと def の戻り値が『メソッド名』なのでそれを直接 decorate メソッドの引数として渡している感じになります。
実はこれ、ライブコーディングで紹介しようと思っていたのですが、途中でめんどくさくなってしまい(ry。
ま、まあスライドには書いてあるから…。


そんなわけで LT してきましたー。
運営の方々、発表を聞いてくださった皆様、ありがとうございました。
今回は『発表が面白かった』などの感想を頂いたので嬉しかったです。
またいろいろと Ruby の意見なんかも聞くことができたので有意義な時間でした。 次回も機会があれば参加してみたいです。