2017-11-11 8 views
0

最近私は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). 

ような何か?

関連する問題