4

これを有効にする方法はありますか:

genre(blues).
gere(hiphop).
genre(rock).

このようなものに:

genre(blues;hiphop;rock).

*これが機能しないことはわかっていますが、これに似たものが存在します。

4

3 に答える 3

2

事実を統合することはできませんが、次のように単純なルールに変えることができます。

genre(X) :- member(X, [blues, hiphop, rock]).

member/2リストのメンバーシップをテストするための SWIの組み込みリスト述語です。

于 2012-10-24T00:37:25.587 に答える
1

これにより、リストのすべての要素に述語を適用でき、すべての適用が成功した場合にのみ成功します。

test_list( _, [] ).
test_list( F, [H|T] ) :- P =.. [F,H], P, test_list( F, T ).
于 2012-10-24T00:30:30.237 に答える
0

この構文を使用できます

genre(X) :- X=blues ; X=hiphop ; X=rock.

しかし、個人的にはメンバーにアドバイスします/ 2ウェイ...

于 2012-10-24T13:46:54.847 に答える