本文简要介绍ruby语言中 RubyVM::InstructionSequence.compile
的用法。
用法
compile(source[, file[, path[, line[, options]]]]) → iseq
new(source[, file[, path[, line[, options]]]]) → iseq
获取 source
,一个 Ruby 代码的 String
并将其编译为 InstructionSequence
。
可选地采用 file
、 path
和 line
,它们说明了 source
中 ruby 代码的文件路径、真实路径和第一行号,它们是附加到返回的 iseq
的元数据。
file
用于“__FILE__”和异常回溯。 path
用于require_relative
基础。建议这些应该是相同的完整路径。
options
可以是 true
、 false
或 Hash
,用于修改 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 InstructionSequence.compile_file用法及代码示例
- Ruby InstructionSequence.base_label用法及代码示例
- Ruby InstructionSequence.disasm用法及代码示例
- Ruby InstructionSequence.first_lineno用法及代码示例
- Ruby InstructionSequence.of用法及代码示例
- Ruby InstructionSequence.path用法及代码示例
- Ruby InstructionSequence.label用法及代码示例
- Ruby InstructionSequence.absolute_path用法及代码示例
- Ruby InstructionSequence.disassemble用法及代码示例
- Ruby InstructionSequence.eval用法及代码示例
- Ruby Installer.install用法及代码示例
- Ruby Installer.shebang用法及代码示例
- Ruby Inspector.def_inspector用法及代码示例
- Ruby Inspector类用法及代码示例
- Ruby Integer.nobits?用法及代码示例
- Ruby Integer lcm()用法及代码示例
- Ruby Integer.self >=用法及代码示例
- Ruby Integer.self >>用法及代码示例
- Ruby Integer.next用法及代码示例
- Ruby Integer.self ** numeric用法及代码示例
- Ruby Integer integer?用法及代码示例
- Ruby Integer.truncate用法及代码示例
- Ruby Integer digits用法及代码示例
- Ruby Integer divmod()用法及代码示例
- Ruby Inflate.inflate用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 InstructionSequence.compile。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。