本文簡要介紹ruby語言中 Module.const_get
的用法。
用法
const_get(sym, inherit=true) → obj
const_get(str, inherit=true) → obj
在 mod
中檢查具有給定名稱的常量。如果設置了inherit
,則查找還將搜索祖先(如果mod
是Module
,則查找Object
)。
如果找到定義,則返回常量的值,否則會引發 NameError
。
Math.const_get(:PI) #=> 3.14159265358979
如果提供了命名空間的類名,此方法將遞歸查找常量名。例如:
module Foo; class Bar; end end
Object.const_get 'Foo::Bar'
inherit
標誌在每次查找時都會受到尊重。例如:
module Foo
class Bar
VAL = 10
end
class Baz < Bar; end
end
Object.const_get 'Foo::Baz::VAL' # => 10
Object.const_get 'Foo::Baz::VAL', false # => NameError
如果參數不是有效的常量名稱,則會引發 NameError
並發出警告 “wrong constant name”。
Object.const_get 'foobar' #=> NameError: wrong constant name foobar
相關用法
- Ruby Module.const_missing用法及代碼示例
- Ruby Module.const_set用法及代碼示例
- Ruby Module.const_defined?用法及代碼示例
- Ruby Module.const_source_location用法及代碼示例
- Ruby Module.constants用法及代碼示例
- Ruby Module.class_variables用法及代碼示例
- Ruby Module.class_exec用法及代碼示例
- Ruby Module.class_variable_get用法及代碼示例
- Ruby Module.class_variable_defined?用法及代碼示例
- Ruby Module.class_eval用法及代碼示例
- Ruby Module.class_variable_set用法及代碼示例
- 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.const_get。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。