3 つの目標のうち 2 つが成功するかどうかをチェックする core.logic コードを作成する必要があります。
私は次のように書くことができることを知っています:
(run* [a b c]
(conde [goal1 goal2]
[goal2 goal3]
[goal3 goal1]))
...しかし、これは面倒です。実際には、「N out of M」の場合にコードを一般化する必要があり、これを一般化するのは困難です。この種の問題に使用する正しいアプローチを教えてもらえますか? これを簡単にする機能はありますか?
ありがとう!