当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby InstructionSequence.of用法及代码示例


本文简要介绍ruby语言中 RubyVM::InstructionSequence.of 的用法。

用法

of(p1)

返回包含给定过程或方法的指令序列。

例如,使用 irb:

# a proc
> p = proc { num = 1 + 2 }
> RubyVM::InstructionSequence.of(p)
> #=> <RubyVM::InstructionSequence:block in irb_binding@(irb)>

# for a method
> def foo(bar); puts bar; end
> RubyVM::InstructionSequence.of(method(:foo))
> #=> <RubyVM::InstructionSequence:foo@(irb)>

使用 ::compile_file

# /tmp/iseq_of.rb
def hello
  puts "hello, world"
end

$a_global_proc = proc { str = 'a' + 'b' }

# in irb
> require '/tmp/iseq_of.rb'

# first the method hello
> RubyVM::InstructionSequence.of(method(:hello))
> #=> #<RubyVM::InstructionSequence:0x007fb73d7cb1d0>

# then the global proc
> RubyVM::InstructionSequence.of($a_global_proc)
> #=> #<RubyVM::InstructionSequence:0x007fb73d7caf78>

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 InstructionSequence.of。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。