如果列表在Prolog中的大小为1则告诉

Eig*_*lue 1 prolog

我是prolog的新手,我正在尝试编写一个谓词,以便我可以判断一个列表是否是一个大小的列表.目前我有这个:

one([H | T]) :- H \= [] ,T == [].
Run Code Online (Sandbox Code Playgroud)

这有问题,至少我的逻辑是,如果H它不是空的并且尾部没有任何东西,则必须是头部中存在某些东西并因此具有一个大小的情况.否则它没有.

非常感谢您解决此问题的一些见解.

Ser*_*nko 5

这很容易,只有一个事实:

one([_]).
Run Code Online (Sandbox Code Playgroud)