YARV によって実行された Ruby バイトコードを事後分析して観察したいと思います。
どうすればこれを入手できますか?
ここにいる他の誰かが、それは不可能だと言いました。ただ、ルビーのバイトコードを実行するように見えるhotrubyフレームワークがあり、戸惑っています...
どうもありがとう!
私が理解している限り、RubyVM::InstructionSequence.compile
必要なものです。
より読みやすい出力を得るには、disasm
後に使用できますcompile
[17] pry(main)> code = <<STR
[17] pry(main)* puts "Hello World"
[17] pry(main)* STR
=> "puts \"Hello World\"\n"
[19] pry(main)> puts RubyVM::InstructionSequence.compile(code).disasm
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ( 1)
0002 putself
0003 putstring "Hello World"
0005 opt_send_without_block <callinfo!mid:puts, argc:1, FCALL|ARGS_SIMPLE>
0007 leave
=> nil
[20] pry(main)>