2017-11-11 104 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).