1
A
回答
2
這將顯示YARV指令
code = <<END
x=1
x.to_s
puts x
END
puts RubyVM::InstructionSequence.compile(code).disasm
如果您想了解更多,你可以看看這本書紅寶石在顯微鏡下
這將是輸出
1.9.3-p547 :012 > code = <<END
1.9.3-p547 :013"> x=1
1.9.3-p547 :014"> x.to_s
1.9.3-p547 :015"> puts x
1.9.3-p547 :016"> END
=> "x=1\nx.to_s\nputs x\n"
1.9.3-p547 :017 > puts RubyVM::InstructionSequence.compile(code).disasm
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
local table (size: 2, argc: 0 [opts: 0, rest: -1, post: 0, block: -1] s1)
[ 2] x
0000 trace 1 ( 1)
0002 putobject 1
0004 setlocal x
0006 trace 1 ( 2)
0008 getlocal x
0010 send :to_s, 0, nil, 0, <ic:0>
0016 pop
0017 trace 1 ( 3)
0019 putself
0020 getlocal x
0022 send :puts, 1, nil, 8, <ic:1>
0028 leave
2
相關問題
- 1. 由rails生成的ruby源代碼
- 2. 由Rails生成的Ruby源代碼?
- 3. 訪問由XSD生成的類
- 4. iphone md5生成由Ruby on Rails生成的不同字符串
- 5. Java字節碼生成
- 6. 在仿真代碼中訪問Verilog genvar生成的實例
- 7. CGLIB AspectJ的字節代碼生成
- 8. 可以使用哪個庫/程序來生成Java字節碼?
- 9. Ruby中的程序生成算法
- 10. Ruby on Rails生成路由
- 11. 訪問由加載程序加載的ListView委託的成員
- 12. 如何讓Reflection.Emit程序集訪問生成程序集中的內部成員?
- 13. Javassist似乎生成無效的字段訪問代碼
- 14. 試圖抓住C字節碼...... GNU/gcc可以生成像Clang/LLVM這樣的C字節碼嗎?
- 15. Ruby實例變量訪問
- 16. 由jQuery生成的PHP foreach樣式表
- 17. Ruby on Rails教程 - 生成問題
- 18. 如何訪問WCF中的字段RIA生成的Silverlight應用程序
- 19. 無法從動態生成的程序集中訪問CodeBase
- 20. 訪問Ruby線程
- 21. Ruby字節碼調試器
- 22. 的Web應用程序代碼生成
- 23. 使用C#生成的DLL庫訪問AutoCAD的調用實例
- 24. bcrypt-ruby的密碼生成和校驗
- 25. OpenSSL的Ruby代碼來生成指紋
- 26. 序列化,編譯和字節代碼生成
- 27. 字符串中的Ruby訪問字
- 28. TUN程序不生成裝置節點
- 29. 訪問由Netbeans從XML架構自動生成的列表
- 30. 避免循環訪問由mongodb和express生成的URL
即時通訊使用MRI,我想將MRI將我的示例代碼轉換爲字節或直接解釋它 –
我不認爲MRI正在編譯爲字節碼。看到這個答案:http://stackoverflow.com/questions/717490/is-ruby-really-an-interpreted-language-if-all-of-its-implementations-are-compile – davidrac