当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Module.module_eval用法及代码示例


本文简要介绍ruby语言中 Module.module_eval 的用法。

用法

module_eval(string [, filename [, lineno]]) → obj
module_eval {|mod| block } → obj
也别名为:class_eval

mod 的上下文中评估字符串或块,除了给定块时,常量/类变量查找不受影响。这可用于向类添加方法。 module_eval 返回评估其参数的结果。可选的filenamelineno 参数设置错误消息的文本。

class Thing
end
a = %q{def hello() "Hello there!" end}
Thing.module_eval(a)
puts Thing.new.hello()
Thing.module_eval("invalid code", "dummy", 123)

产生:

Hello there!
dummy:123:in `module_eval': undefined local variable
    or method `code' for Thing:Class

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Module.module_eval。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。