やったこと
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)
存在しない値を参照しようとすると、例外が発生します。