我正在Prolog的一个基础项目上工作。我想写一个函数,它返回一个基于输入列表的数字。我还想确保当输入列表为空时,结果为false。 功能应该是这样的 parseList(List,N)其中N是数字。我想知道一种在我们尝试
时返回False的方法parseList([], N).
其中N是任意数字。
我尝试为基本案例
执行此操作parseList([], False).
但是,这似乎不起作用。
有人可以帮我这个吗?谢谢!
答案 0 :(得分:1)
正如Lurker在他的评论中所说,在这种情况下,省略空列表条件并处理一个元素的列表将导致空列表失败。但是,在更一般的情况下,如果要声明失败的规则,只需包含false
,因为它永远不会成立,或fail
执行相同操作。例如:
parseList([],_) :- false.
或(现已弃用)
parseList([],_) :- fail.
(其中_
用于表示不重要的变量,否则将触发单例变量警告)。