2 prolog
I have just started prolog and was wondering if we can implement conditional statements like(if.else)in Prolog also and if so how?? Can someone implement this code in Prolog just for an example-
if(a==2)
print("A is 2");
if(a==3)
print("A is 3");
else
print("HAhahahahaah");
Run Code Online (Sandbox Code Playgroud)
Ok so I am doing this after Sergey Dymchenko answer.
Test(A) :-read(A),
( A =:= 2 ->
write('A is 2')
;
( A =:= 3 ->
write('A is 3')
;
write('HAhahahahaah')
)
).
Run Code Online (Sandbox Code Playgroud)
This is giving right answer except this is displaying A = 2 also which I dont want(If I give input 2).
一种方法:
test(A) :-
( A =:= 2 ->
write('A is 2')
; A =:= 3 ->
write('A is 3')
; write('HAhahahahaah')
).
Run Code Online (Sandbox Code Playgroud)
另一种方法是:
test(2) :-
write('A is 2').
test(3) :-
write('A is 3').
test(A) :-
A \= 2, A \= 3,
write('HAhahahahaah').
Run Code Online (Sandbox Code Playgroud)
这两个代码存在差异,例如选择点,未实例化A以及是否将A视为数字时的行为。但两者都将同样的方式工作(除了选择点左)与查询预计test(2).,test(3).,test(42).