of(body) -> RubyVM::InstructionSequence
[permalink][rdoc][edit]-
引数 body で指定した Proc、Method オブジェクトを元に RubyVM::InstructionSequence オブジェクトを作成して返します。
- [PARAM] body:
- Proc、Method オブジェクトを指定します。
例1:irb で実行した場合
# proc > p = proc { num = 1 + 2 } > RubyVM::InstructionSequence.of(p) > # => <RubyVM::InstructionSequence:block in irb_binding@(irb)> # method > def foo(bar); puts bar; end > RubyVM::InstructionSequence.of(method(:foo)) > # => <RubyVM::InstructionSequence:foo@(irb)>
例2: RubyVM::InstructionSequence.compile_file を使用した場合
# /tmp/iseq_of.rb def hello puts "hello, world" end $a_global_proc = proc { str = 'a' + 'b' } # irb > require '/tmp/iseq_of.rb' # hello メソッド > RubyVM::InstructionSequence.of(method(:hello)) > # => #<RubyVM::InstructionSequence:0x007fb73d7cb1d0> # グローバル proc > RubyVM::InstructionSequence.of($a_global_proc) > # => #<RubyVM::InstructionSequence:0x007fb73d7caf78>