我很新的序言,我有我的地方可變似乎被遺忘了序言遺忘/ uninstantiating我的變量?
test(S) :-
X = 'testing',
(S = y, write(X));
(S = n, write(X)).
運行
test(y)
打印出來的文字如預期的那樣的問題,但
test(n)
打印出
_L160
我認爲這意味着變量是uninstantsiated?這是爲什麼發生?
我知道它可以吐成兩個謂詞,如:
test(y) :- X = 'testing', write(X).
test(n) :- X = 'testing', write(X).
,但我實際的問題是在這不能被簡化這樣一個更大的謂語。