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


Ruby Module.const_get用法及代码示例


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

用法

const_get(sym, inherit=true) → obj
const_get(str, inherit=true) → obj

mod 中检查具有给定名称的常量。如果设置了inherit,则查找还将搜索祖先(如果modModule,则查找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-lang.org大神的英文原创作品 Module.const_get。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。