【问题标题】:Using 'else' in Prolog在 Prolog 中使用“else”
【发布时间】:2014-03-24 01:12:24
【问题描述】:

这是我的第一个问题,对我来说非常重要。 我正在尝试制作一个简单的程序。我是 Prolog 的新手,不知道如何使用逻辑运算符,有人可以帮忙吗? 谢谢!

lamp(on):-energy(on).
ELSE lamp(off).

重要提示:我正在使用 SWI-Prolog。

【问题讨论】:

  • 您是否尝试过任何 Prolog 教程或书籍?你到底想写什么样的程序,你试过什么?这是上课的吗?
  • 尝试一些入门资源。当您遇到特定问题时,此站点更有用
  • 这个问题中没有任何内容可以让您清楚它是什么您正在努力实现的目标。您至少可以在问题中包含一些伪代码!

标签: prolog


【解决方案1】:

当然,如果energy/1 谓词的可能参数与lamp/1 谓词的可能参数相同,即onoff,您可以简单地写:

lamp(State) :-
    energy(State).

否则,请遵循 @g_a_kowalski 的建议。

【讨论】:

    【解决方案2】:

    使用运算符->/2和运算符;/2的组合:

    ( If -> Then ; Else )
    

    例如:

    ( 10 < 20 -> print(true); print(false) )
    

    或者

    lamp(X) :- ( energy(on) -> X = on; X = off) )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多