Project1

标题: 请问有不有可以显示方法内容的方法? [打印本页]

作者: 正太君    时间: 2014-11-16 08:31
标题: 请问有不有可以显示方法内容的方法?
对象.class          可以显示对象的类
实例.instance_variables            可以显示实例的实例变量
那么有不有这样一个方法,能显示一个方法的内容呢...
有的方法是被封装起来的,不知道其内容,无法alias或修改重写什么的...
作者: taroxd    时间: 2014-11-16 08:35
本帖最后由 taroxd 于 2014-11-16 08:37 编辑

RUBY 代码复制
  1. # Ruby Version >= 1.9
  2.  
  3. def a
  4.   print 1 + 1
  5. end
  6.  
  7. puts RubyVM::InstructionSequence.disasm method(:a)
  8.  
  9. output = <<EOF
  10. == disasm: <RubyVM::InstructionSequence:a@F:/Documents/test.rb>=========
  11. 0000 trace            8                                               (   4)
  12. 0002 trace            1                                               (   5)
  13. 0004 putself         
  14. 0005 putobject_OP_INT2FIX_O_1_C_
  15. 0006 putobject_OP_INT2FIX_O_1_C_
  16. 0007 opt_plus         <callinfo!mid:+, argc:1, ARGS_SKIP>
  17. 0009 opt_send_simple  <callinfo!mid:print, argc:1, FCALL|ARGS_SKIP>
  18. 0011 trace            16                                              (   6)
  19. 0013 leave                                                            (   5)
  20. EOF


不过 C 函数的话,我就没辙了
就算能搞出 C 函数,应该也是汇编代码了吧。
作者: 正太君    时间: 2014-11-16 11:32
taroxd 发表于 2014-11-16 08:35
# Ruby Version >= 1.9

def a


VA是1.9以上吗...
请问版主大人,可以在RM里面用吗...如果想在RM里面用应该怎么做呢...
请不要被我的名字迷惑了,虽然我叫聪仔,但是并没大家想象的那么聪明呀...
作者: 正太君    时间: 2014-11-18 11:53
@恐惧剑刃 请版主大人结帖吧...
@taroxd 谢谢版主大人,请再帮聪看看本区刚发的另一个问题吧...




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1