今日は定数を設定する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の値が出力されている。
今日はここまで。