5

謹んでお聞きしたいのですが…

「定数値の 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? または「遅延の?」

前もって感謝します。

4

1 に答える 1