RubyVM可以将Ruby代码编译为字节代码,然后直接执行它。例如。,
汇编语言
File.write(ARGV[1],RubyVM::InstructionSequence.compile_file(ARGV[0]).to_binary)
RB
RubyVM::InstructionSequence.load_from_binary(File.read(ARGV[0]).force_encoding(Encoding::ISO_8859_1)).eval
球拍
ruby COMPILE.rb test.rb test.rbx
ruby EXECUTE.rb test.rbx
的红宝石代码
test.rb
它本身实际上是执行的。这里有什么明显的缺点吗?一位朋友建议人们要小心,因为它可能不会在其他操作系统上运行。但是,我希望它能在所有操作系统上工作,例如Java字节码,它可以在JVM执行的所有操作系统上运行。
编译Ruby-to-Byte代码是否有明显的缺点(当然除了可读性)?