Prolog表示空列表的列表

时间:2014-06-19 19:13:08

标签: list prolog nested-lists

SWI-Prolog中有没有办法表示空列表? 像:

[[],[]],
[[],[],[]],
[[],[],[],[]]   

我想要这样的东西

[[]|[]]

1 个答案:

答案 0 :(得分:0)

[[],[]][[],[],[]][[],[],[],[]]都是不同的东西 - 每个列表中的元素数量不同。

如果参数是一个长度至少为1的列表并且这些元素是空列表,那么也许你的谓词是真的:

lel([[]]).
lel([[] | T]) :-
    lel(T).

顺便说一下,[[]|[]][[]]相同。