Ruby で const_get を使ってみる
Ruby
Published: 2019-07-23

やったこと

Ruby で const_get を使ってみます。

確認環境

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

調査

test.rb

class Sample
  ABC = 'abc'
end

p Object.const_get('Sample')
p Class.const_get('Sample')

p Object.const_get('Sample::ABC')
p Class.const_get('Sample::ABC')
p Sample.const_get('ABC')

p Object.const_get('Sample::ABCD')

実行結果

$ ruby test.rb
Sample
Sample
"abc"
"abc"
"abc"
Traceback (most recent call last):
test.rb:11:in `<main>': uninitialized constant Sample::ABCD (NameError)

存在しない値を参照しようとすると、例外が発生します。

参考