引数に依存しない関数に関連するデータがある場合、ローカルカプセル化よりもブロックカプセル化をいつ優先すべきですか?ブロックカプセル化とローカルカプセル化 -
私が使用する必要があります。
(let [hello "Hello "]
(defn do-greet
"Print a greeting."
[name]
(println (str hello name))))
対:
(defn do-greet
"Print a greeting."
[name]
(let [hello "Hello "]
(println (str hello name))))
私はこれが好きです、あなたはより多くのポイントをカバーしています。私はマクロ展開ポイントが有効であるかどうかはわかりません。なぜなら、展開の周りを囲むことができるからですが、まだ関数内にあるからです。読みやすくするために、私は文体の選択肢を意味の違いから切り離すことを提案します。 (値は、さまざまな関数呼び出しによって異なる場合があります)。 – bmillare