一个简单的问题,我如何宣布一个产生指定+1 +2和+3的数字的子句?我试过了:
addup(Thenumber,Thenumber+1).
addup(Thenumber,Thenumber+2).
addup(Thenumber,Thenumber+3).
但是当我用Sayumber = 5运行它时,它只返回5 + 1 5 + 2 5 + 3。我曾尝试使用'is'强制它进行评估,但它似乎不起作用。任何帮助将不胜感激。
答案 0 :(得分:2)
试试这个:
addup(X, Y) :- Y is X + 1.
或
addup(X, X+1).
你的问题应该是加分(2,X)
然后X应该是3.如果你想参数化你的addup参数,只需要它:
addup(X, Y, X + Y).
并询问addup(5,6,X)。