【发布时间】:2017-11-04 23:28:11
【问题描述】:
我有以下序言程序:
len([X],[Y],Count) :-
length(X,K),
length(Y,I),
K < I,
Count is 0
; I < K,
Count is 2
; I = K,
Count is 1.
当我输入时:
len( [1,2], [5,2,4], X ).
我得到: Singleton variable in branch: K and I
我在这里查找了这意味着什么:http://www.swi-prolog.org/pldoc/man?section=singleton 我尝试过 _K & _I 但你只能这样做一次。
这个程序应该取两个列表并比较每个列表的长度以确定输出值。
【问题讨论】:
-
我不明白你的程序应该做什么。
Count似乎是一个比较器,而不是列表的计数。此外,模式匹配是错误的。 -
length/2目标之后的所有内容都需要用一对圆括号括起来。然后[X]应该是X等等。
标签: prolog