Prolog - 声明算术子句
一个简单的问题,我将如何声明一个产生指定数字 +1 +2 和 +3 的子句?我已经尝试过了:
addup(Thenumber,Thenumber+1).
addup(Thenumber,Thenumber+2).
addup(Thenumber,Thenumber+3).
但是当我用 Thenumber=5 运行它时,它只返回 5+1 5+2 5+3。我尝试过使用“is”来强制它进行评估,但它似乎不起作用。任何帮助将不胜感激。
A simple question, how would I go about declaring a clause which would produce the number specified +1 +2 and +3? I have tried:
addup(Thenumber,Thenumber+1).
addup(Thenumber,Thenumber+2).
addup(Thenumber,Thenumber+3).
but when I run it with say, Thenumber=5, it just returns 5+1 5+2 5+3. I have tried using 'is' to force it to evaluate but it doesn't seem to work. Any help would be appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试试这个:
或者
你的问题应该是 addup(2, X)
那么 X 应该是 3。如果你想参数化你的 addup 参数,只需这样做:
并用 addup(5, 6, X) 询问。
Try this:
or
and you question should be addup(2, X)
then X should be 3. If you want to parametrize your addup parameter just make it:
and ask with addup(5, 6, X).