基础案例在条件序言上返回false

时间:2017-02-05 02:30:57

标签: prolog

我正在Prolog的一个基础项目上工作。我想写一个函数,它返回一个基于输入列表的数字。我还想确保当输入列表为空时,结果为false。 功能应该是这样的 parseList(List,N)其中N是数字。我想知道一种在我们尝试

时返回False的方法
parseList([], N).

其中N是任意数字。

我尝试为基本案例

执行此操作
parseList([], False).

但是,这似乎不起作用。

有人可以帮我这个吗?谢谢!

1 个答案:

答案 0 :(得分:1)

正如Lurker在他的评论中所说,在这种情况下,省略空列表条件并处理一个元素的列表将导致空列表失败。但是,在更一般的情况下,如果要声明失败的规则,只需包含false,因为它永远不会成立,或fail执行相同操作。例如:

parseList([],_) :- false.

或(现已弃用)

parseList([],_) :- fail.

(其中_用于表示不重要的变量,否则将触发单例变量警告)。