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


Ruby InstructionSequence.compile用法及代码示例


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

用法

compile(source[, file[, path[, line[, options]]]]) → iseq
new(source[, file[, path[, line[, options]]]]) → iseq

获取 source ,一个 Ruby 代码的 String 并将其编译为 InstructionSequence

可选地采用 filepathline ,它们说明了 source 中 ruby 代码的文件路径、真实路径和第一行号,它们是附加到返回的 iseq 的元数据。

file 用于“__FILE__”和异常回溯。 path 用于require_relative 基础。建议这些应该是相同的完整路径。

options 可以是 truefalseHash ,用于修改 Ruby iseq 编译器的默认行为。

有关有效编译选项的详细信息,请参阅 ::compile_option=

RubyVM::InstructionSequence.compile("a = 1 + 2")
#=> <RubyVM::InstructionSequence:<compiled>@<compiled>>

path = "test.rb"
RubyVM::InstructionSequence.compile(File.read(path), path, File.expand_path(path))
#=> <RubyVM::InstructionSequence:<compiled>@test.rb:1>

path = File.expand_path("test.rb")
RubyVM::InstructionSequence.compile(File.read(path), path, path)
#=> <RubyVM::InstructionSequence:<compiled>@/absolute/path/to/test.rb:1>

相关用法


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