以下に示す問題があります。
次のように整数リストを定義します。
- 空リストは整数リストです
- L が整数リストで、N が整数の場合、[N | L] は整数リストです
- L1 と L2 が整数リストの場合、[L1 | L2]。
が整数リストのinteger_list(L)
場合にのみ満たされるプロローグ プログラムを作成します。L
私のプログラムは 3 番目の要件を実装できません。誰かが私に間違いを指摘できますか?
int_list([]):-!.
int_list(L):-
is_list(L),
L=[X|Y],
check(L).
int_list(L):-
L=[L1|L2],
is_list(L1),
is_list(L2),
check(L1),
check(L2).
check([]):-!.
check([X|Y]):-
integer(X),
check(Y).