Rubyでの定数の扱い <株入門>

行きがかり上とはいえ、全然株入門じゃないのですが、ご容赦。

まあ、目的からしたらドーデモいい話です。
でも、書いちゃうのはなんか引っかかるからでしょうね。

で、
Rubyでの定数の扱いが特殊だ。
変数に対して定数(ていすう、じょうすう)なのだから、変更できちゃダメだ。
だけど、Rubyでは変更出来てしまう。
坂本タクマ先生も「他の言語では考えられない」と仰る。
 
書き方としては、最初の方で大文字で書く、というだけ、
defineとかconstとか、そういうのはありません。
もともと宣言という概念がなさそうだし、
定数はメモリケチろうとかそういうことも考えないみたい。

freezeというメソッドで書き換え不能に出来るそうですが、
http://qiita.com/yukiyan/items/39f945c55b6dc5e11ed7
それはそれで、なんだよその面倒くささって感じです。

「Rubyでは全てがオブジェクト」ということと、
定数も書き換えできちゃうことが関係ある気もするけど、、
 
書き換え起きるときに警告出すならエラーでいいじゃん。
なんかそれも中途半端じゃね。
 

なんか気持ち悪いので、グーグル先生に色々聞いてみました。
結論はどうやら、定数という概念は要らないと考えているから。らしいです。
 
「定数を定数として使う」必要はないだろう
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/18762

 
なんかすげえ、その発想はちょっと思いつきませんでした。
まあ、プログラマが慣習というか作法としてそう使ってくれ、
言語自体は、あんまり気にしない。って態度ですね。

Rubyでは定数は作法。破ると怒られるけど罰則はない。
好き嫌いの分かれるところでしょうね。

 
質問コーナー、お問い合わせは、sanpome.net@gmail.com まで。

  

 

社会・経済ニュース ブログランキングへ

にほんブログ村 海外生活ブログへ
にほんブログ村

カテゴリー: 未分類 タグ: , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*