謹んでお聞きしたいのですが…
「定数値の var または ref/atom/agent ?」と私は尋ねますか? もちろん、定数値には vars を使用します。
しかし、値が定数のように振る舞うが、コンパイル時 (コードが読み取られるとき) ではなく、実行時に割り当てられるべきである場合に、どちらを使用すべきか常に疑問に思っていました。
たとえば、ユーザーの構成ファイルにいくつかの Java プロパティが記述されているとします。データはコードに含まれていないため、実行時に割り当てる必要があります。ただし、他のコードがそれらを参照するため、データが読み込まれる前にそれらも定義する必要があります。
この場合、
いつ「var」を使用しますか?:
- 「var」を定義するか、単に「var」を宣言します (それで問題ない場合)。
- そして、オプション ファイルを読み取る関数によって、それらの 'var's を再度再定義します。
- しかし、'var's を上書きするのはひどいと感じたり、'var's の内部関数を定義するのは奇妙に感じます。
いつref/atom/agentを使用しますか?:
- ref/atom/agents を 'var's.
- 次に、オプション ファイルを読み取る関数によって、これらの ref/atom/agents を更新します。
- しかし、値はプログラム全体で使用されるため、そのコストが心配です。
- ...そして、あまりにも多くの @ マクロを使用すると、やや面倒です。
何を使えばいいのかわからない。
そのような場合は何を使用しますか?
'var's? 'ref/atom/agent's? または「遅延の?」
前もって感謝します。