2013-11-23 160 views
1

是否可以將一個變量聲明爲事實?Prolog聲明一個變量

male(tom). 
male(Tom) := male(tom). 

這樣就設置了大寫的Tom變量。 Prolog將大寫字母設置爲變量,我不知道如何使其工作,因爲這是我的教授希望我們做的。

+0

嘛.... Prolog是不是帕斯卡。 ;)如果你有'男性(湯姆)'這個事實,那麼如果你詢問'男性(湯姆)',那麼你將得到'湯姆湯姆'。 – lurker

回答

0

你並不需要聲明male(Tom) := male(tom).

如果你聲明male(tom).,然後通過鍵入查詢male(Tom).,你會得到

2 ?- male(Tom). 
Tom = tom. 

就像@mbratch說。

它與你的任何變量名是相同的:

3 ?- male(X). 
X = tom. 

4 ?- male(Tommmmm). 
Tommmmm = tom. 

5 ?- male(Name). 
Name = tom.