0
我目前正在鑽研Prolog,但來自JavaScript背景很多似乎很奇怪。例如,我有這樣一個定義:Prolog中的執行順序:;運算符
np # Subject,
pp # IObject ; np # IObject,
然而,執行結果並不如預期。但是,當使用parantheses時。
np # Subject,
(pp # IObject ; np # IObject),
這似乎很奇怪,我,因爲,
是一個分隔符所以括號就沒有必要。 Prolog中的禁忌究竟是什麼?請記住,我對Prolog非常陌生。
」不是個這很奇怪,考慮到','只是列表的分隔符,而';'是一個真正的操作符? –
逗號也是一個操作符。嘗試查詢'current_op(Priority,Type,',')。' –
@repeat,是的,它的確如此。 – lurker