如果未实例化变量,则调用其他谓词

时间:2019-03-22 18:48:13

标签: prolog

有此代码段

foo :- getVar(X).

我该如何做一件非常简单的事情,例如:“如果变量X来自getVar,则调用bar/1否则调用baz/1

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用 if-then-else 控件构造和nonvar/1标准内置谓词。例如:

foo :-
    get_var(X),
    (   nonvar(X) ->
        bar(X)
    ;   baz(X)
    ).