使用OR ||生成If语句和&&检查

时间:2015-09-29 02:13:55

标签: if-statement prolog

我如何在prolog中制作这样的东西:

if(A > -1 && A > 0){
   //DoSomething
}
else{
   //DoAnotherThing
}

试过这个:

positive([], []). %Tudo Vazio
positive([H1|T1], [H2|T2]) :- H1 > -1, H1 > 0 ->  H2 = H1, positivos(T1, T2).

1 个答案:

答案 0 :(得分:0)

请注意,Prolog是一种逻辑编程语言,而不是C或类似语言。

Prolog将会成功'或者'失败'检查你扔的任何东西。 因此,如果您想检查A是否为正(我认为您想做),您可以简单地写一下:

positive(A) :- A > 0.

如果你想检查列表中的所有数字是否都是正数,那么你可以通过一个列表来检查所有上一个谓词的成员,如:

positive([]).
positive([H|T]) :-
     positive(H),
     positive(T).

' if / then'在Prolog中可以用;编写,这是or的Prolog。

positive(A) :-
    ( 
        A > 0,  print('A is positive')
        ; 
        A < 0,  print('A is negative')
        ; 
        A == 0, print('A is zero')
    ).

通过询问pr positive(1)positive(-1)来测试它。