本文簡要介紹ruby語言中 Module.class_eval
的用法。
用法
class_eval(string [, filename [, lineno]]) → obj
class_eval {|mod| block } → obj
別名:module_eval
在 mod
的上下文中評估字符串或塊,除了給定塊時,常量/類變量查找不受影響。這可用於向類添加方法。 module_eval
返回評估其參數的結果。可選的filename
和lineno
參數設置錯誤消息的文本。
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 Module.class_exec用法及代碼示例
- Ruby Module.class_variables用法及代碼示例
- Ruby Module.class_variable_get用法及代碼示例
- Ruby Module.class_variable_defined?用法及代碼示例
- Ruby Module.class_variable_set用法及代碼示例
- Ruby Module.const_missing用法及代碼示例
- Ruby Module.const_set用法及代碼示例
- Ruby Module.const_get用法及代碼示例
- Ruby Module.const_defined?用法及代碼示例
- Ruby Module.const_source_location用法及代碼示例
- Ruby Module.constants用法及代碼示例
- Ruby Module.attr_accessor用法及代碼示例
- Ruby Module.method_removed用法及代碼示例
- Ruby Module.private用法及代碼示例
- Ruby Module.deprecate_constant用法及代碼示例
- Ruby Module.instance_method用法及代碼示例
- Ruby Module.included_modules用法及代碼示例
- Ruby Module.singleton_class?用法及代碼示例
- Ruby Module.module_exec用法及代碼示例
- Ruby Module.included用法及代碼示例
- Ruby Module.include?用法及代碼示例
- Ruby Module.ruby2_keywords用法及代碼示例
- Ruby Module.module_eval用法及代碼示例
- Ruby Module.extend_object用法及代碼示例
- Ruby Module.autoload用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Module.class_eval。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。