【问题标题】:Where is instance_eval defined in Ruby 1.9.2? [closed]Ruby 1.9.2 中的 instance_eval 定义在哪里? [关闭]
【发布时间】:2011-06-17 03:04:54
【问题描述】:

请原谅我的无知,但我一定在这里遗漏了一些东西。我可以在Object 类中找到用于 ruby​​ 1.8.7 的instance_eval 的文档,但我无法在任何地方找到1.9.2 的文档。我知道该功能仍然受支持,因为我正在使用它。是否有一些秘密的父类已被移动到?

【问题讨论】:

    标签: ruby documentation instance-eval


    【解决方案1】:

    如果你做Object.superclass,你会看到BasicObject,它本身没有超类。使用BasicObject.public_methods 表明instance_eval 是在那里定义的。

    does not seem to be any documentation 上有 BasicObject 上的方法。

    【讨论】:

    • 啊,我明白了。文档不存在有什么特别的原因吗?他们是否试图阻止使用instance_eval?我还注意到method_missing 没有在任何地方记录?此外,BasicObject 的实际文档在这里:ruby-doc.org/core-1.9/classes/BasicObject.html.
    • 我也发现了该链接,但 /core-1.9 下的文档适用于 1.9,而 /core 下的文档适用于最新版本(当前为 1.9.2)。在从 1.9 到 1.9.2 的过程中,BasicObject 的定义似乎从 object.c 变为 class.c,因此这可能是您在 core-1.9 中看到的少量文档的原因。
    猜你喜欢
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-11
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多