あなたの知ってるRubyGemsTips で LT してきた

あなたの知ってるRubyGemsTips で LT してきました。
LT よかったよー、と言ってもらえたのでよかったよかった。

printf デバッグが捗る gem をつくった話

2年ぐらい前に binding-debug という gem をつくったんですが、最近いろいろと機能拡張したのでそれの紹介をしてきました。
以前は

require "binding/debug"

using BindingDebug

value = 42
binding.p "value"
# => value : 42

みたいに binding.p に文字列を渡して使うようになっていたんですが、いまは Ruby の闇の力を使い以下のように書くことができます。
以下、README にかかれているサンプル。

require "binding/debug"

using BindingDebug

def plus a, b
  a + b
end

foo = "homu"

# puts with blocks
puts {
  foo.to_s.upcase
  plus 1, 2
  (0..20).to_a
  foo.class.name
}
# output:
# foo.to_s.upcase : HOMU
# plus 1, 2 : 3
# (0..20).to_a : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
# foo.class.name : String

今回は5分の LT でユースケースや使い方ぐらいしか話せなかったんですが、機会があれば実装方法なんかも話してみたいですねー。
ご飯も美味しかったですし、運営の方々ありがとうございましたー。