1
最近我開始學習邏輯編程和使用Prolog,並且幾天前我發現條件語句也可以在Prolog中使用。
我想知道,如果我有一個謂語必須在這兩種情況下被調用,是正確的這樣寫代碼:以這種方式在Prolog中使用'if'是否正確?
process(args) :-
(condition -> process_args1; process_args2),
predicateCalledAnyway.
與其說這是在兩種情況下,像這樣的:
process(args) :-
(condition -> process_args1, predicateCalledAnyway; process_args2, predicateCalledAnyway).
有什麼區別嗎?如果是,那麼爲什麼?對我來說,在兩種情況下,代碼似乎都會產生相同的結果。