2012-11-24 51 views
2

我想寫一個確定的類語法,它需要一個單例列表並確定它是1還是0.它一直返回false,我找不出它爲什麼不起作用。定語從句語法

zeroorone-->validnum. 
validnum-->[0]. 
validnum-->[1]. 

回答

0

你張貼的語言相匹配

但不

[0,0,1,1,0, 1,1,1,0,0]

是你期望的嗎?

短語(zeroorone,X)。 應該回應

X = [0]。 X = [1]。現在

,它也有可能是你混淆 '代碼' 風格Prolog的字符串

「100」 與[1,0,0] 前者爲[ '1', '0',「0 ']

你的代碼失敗的一個例子將是有用的

0

Anniepoo是正確的。這適用於SWI-Prolog。

我把你的代碼放到一個文件a.pl中並使用consult(a)加載它。然後我可以運行以下。

zeroorone([0], []). 
true . 

zeroorone([1], []). 
true . 

正如Anniepoo說運行了以下工作按ENTER鍵,然後空間獲得第二個答案

phrase(zeroorone, X). 
X = [ 0 ] ; 
X = [ 1 ]. 

但之後,她說,它不會爲任何東西,但兩個列表中的工作[ 0]和[1]。

例如

zeroorone([1,0,0], []). 
false. 

爲了得到更好的答案,您可能需要指定實際需要的內容。