2013-05-30 42 views
0

我对prolog很陌生,在http://www.compileonline.com/execute_prolog_online.php上尝试一个非常简单的例子。这里是我的代码:在prolog中的以下代码有什么问题?

:- initialization(main). 
main :- 

female(ayse). 
?- female(ayse). 

但它给出了一个错误,说:

/web/com/136989421322328/main.pr:5:4: syntax error: . or operator expected after expression 
1 error(s) 
compilation failed 

,其中第5行是行开头?这里有什么问题?谁能帮忙?

谢谢。

+0

'? - '不是Prolog的运营商。 –

+0

@larsmans在我的笔记里说它在prolog中的查询是以?作为前缀的 - 所以我怎么能做出这样的查询? – yrazlik

+0

'?-'是交互式解释器提示符。如果您不在交互式会话中,请使用':'和一个输出谓词,如'write'(请参阅答案)。 –

回答

2

此代码:

:- initialization(hello). 
hello :- write('hello'). 

线:

  1. 你说你想拥有,这将在shell执行以下行指定一个谓语打招呼时,一切都装。

  2. 你声明谓词。

    “你好暗示写( '你好')是真正的”

你想写什么是

:- initialization(main). 
female(ayse). 

main :- female(ayse), write('ayse is female'). 
+0

感谢您的回答 – yrazlik