Clojure と関数型プログラミングの両方が初めてです。ループ構造を理解しながら、最善を尽くしました。
私はそれを使用できます。それで書かれたコードを見て出力を伝えることができますが、理解できないのは、どのように機能するのですか?
パラメータを使用して無名関数を記述し、同じアリティと新しい値で末尾に recur を保持するのと同じですか?
それは組み込みマクロですか、それとも何かですか?
Clojure と関数型プログラミングの両方が初めてです。ループ構造を理解しながら、最善を尽くしました。
私はそれを使用できます。それで書かれたコードを見て出力を伝えることができますが、理解できないのは、どのように機能するのですか?
パラメータを使用して無名関数を記述し、同じアリティと新しい値で末尾に recur を保持するのと同じですか?
それは組み込みマクロですか、それとも何かですか?
実際にloop
は、関数でもマクロでもありません。特殊な形状です。let
のターゲットとして機能することを除いて、(これも特別な形式です) と同じように機能しrecur
ます。
関数、マクロ、および特殊な形式を区別する 1 つの方法は、それらの引数がどのように評価されるかを調べることです。