2017-11-11 148 views
0

我最近開始學習Prolog,並且對謂詞和函數有疑問。我怎麼能寫一個函數,它會檢查是否在謂詞對象是另一個謂詞例如:在謂詞Prolog中進行功能檢查對象

vertex(a). 
edge(l,k,-1). 
edge(k,l,4). 
edge(a,z,-2). 
checkEdges(edge(X,Y,_)) :- vertex(X),vertex(Y) 

P.S我怎樣才能讓此功能打印一條消息,如果元素不是頂點?

+2

這不是一個函數。 Prolog沒有功能,它只有謂詞和函子。 –

回答

0

喜歡的東西

checkEdges(edge(X,Y,_)) :- 
    (vertex(X), vertex(Y) -> 
    true 
    ; write('not vertices'),nl).