Prolog - 变量作为运算符
我有一个运算符存储在变量 Op 中,两个整数存储在 X 和 Y 中。现在,我想做类似 (Z is X Op Y) 的操作,但这种语法似乎不正确。
有谁知道 Prolog 中是否有办法做到这一点?
感谢您的回答
I have an operator stored in a variable Op and two integers are stored in X and Y. Now, I want to do something like (Z is X Op Y), but this syntax seems not to be correct.
Does anybody know if there is a way to do this in Prolog?
Thanks for your answers
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过使用 =.. 运算符构建谓词来完成此操作。
尝试一下:
运算符实际上就像任何其他函子一样。
you can do it by building the predicate using the =.. operator.
try it like:
An operator is really just like any other functor.
您可以模仿效果:
我在 ideone.com 上针对 SWI-Prolog 尝试了以下方法:
我得到:
You can mimic the effect:
I tried this on ideone.com for SWI-Prolog with:
And I got: