=> wait and return value pr = foo.:with_args.partial(0.1, b: _any) foo.call(b: 3) # => call foo.with_args(0.1, b: 3) [1, 2, 3].each do |i| foo.:exec_later.defer(i) # => resolve arguments here p 1 # => call exec_later(i) end foo.:heavy.memoize(10) # => save result on foo instance_variable
req_size += 1 in [:opt, _] opt_size += 1 in [:rest, _] has_rest = true in [:keyreq, name] has_kw = true keyreqs << name in [:key, _] has_kw = true in [:keyrest, _] has_kw = true else end end マッチングと抽出が同時に出来るのが⼤事。
is Good! iseq = RubyVM::DebugInspector.open { @1.frame_iseq(2) } これを利⽤してスタックを遡ってiseq を取得することができる。 このiseq を使うことで、処理中のブロックを抜けた時だけ発動するTracePoint を仕込む ことができる。 ちなみにこのgem のREADME にはこう書いてある。 do not use this library outside of debugging situations.