次のコードがあるとします。
edge(a, b).
edge(a, c).
edge(a, d).
今私がするとき
neighbors(V, N) :- edge(V, N), writeln(N), fail.
コンソールに印刷されたネイバーのリストを取得できます。しかし、どうすれば結果リストとして取得できますか?何かのようなもの
neighbors(V, Vs) :-
edge(V, N),
not(member(N, Vs)),
neighbors(V, [N|Vs]).
(上記の部分は、処理方法が原因で実際には機能しませんmember
。何か提案がありますか?