4

私はclojureでミニかんれんの実装を使おうとしました。しかし、cond-acond-uとcond-eの違いを理解するのに苦労しています。cond-eについてはかなりはっきりしているようですが、cond-aとcond-uの理解はひどく悪いです。

cond-eは一連の目標を取得し、それぞれを試行します...つまり、成功するすべてのブランチを試行します。

それどころか、cond-aとcond-uは、最初の述語が成功するブランチにコミットし、cond-aは、その後に成功する可能性のあるすべての統合を返します。cond-uは最初の成功した統合のみを返しますが...しかし、私がそれを使用すると、この理解は正しくないようです。誰かが私がこの理解を明確にするのを手伝ってもらえますか?

4

2 に答える 2

4

cond-eは、成功するすべてのブランチからすべての回答を提供します

cond-iはすべての答えを出しますが、それらをインターリーブします。

cond-aは、最初に成功したブランチからの回答のみを提供します

cond-uは、最初に成功したブランチからの最初の回答のみを提供します

于 2010-11-06T16:56:41.860 に答える
2

私はこれらの問題に頭を悩ませようとしていました。いくつかのコメントが付いた短縮スキーム実装 Sokuza-kanrenがあります。今夜それを読みます。

于 2012-01-23T20:31:14.413 に答える