Hyurakuのエンジニア日誌

SE出身Webエンジニアのブログ

定数を設定するメソッドconst_setについて調べてみた。#8

今日は定数を設定するconst_setについて調べてみた。

1. const_set

説明:
クラスやモジュールに定数を設定する。

使い方: モジュール名.const_set(名前,値)

2. 実際に書いてみた

下のファイル(index.rb)を実行する。

class Product
end

Product.const_set(:TAX_RATE, 0.05)
p Product::TAX_RATE
Product.const_set(:TAX_RATE, 0.07)
p Product::TAX_RATE

結果は次のとおり。

> ruby index.rb
0.05
index.rb:6: warning: already initialized constant Product::TAX_RATE
index.rb:4: warning: previous definition of TAX_RATE was here
0.07

流れは次のとおり。 - まずProduct::TAX_RATEに定数0.05が設定される、そしてProduct::TAX_RATEの値が出力される。
- 次にProduct::TAX_RATEに0.07が設定される。しかしすでに0.05が設定されているのでエラーが発生する。
- しかしProduct::TAX_RATEに0.07が設定され、Product::TAX_RATEの値が出力されている。

今日はここまで。