2016-11-27 4 views

答えて

1

あなたはすべての要素がフォームv(_,_)であることがわかっている場合は、単に統一を使用することができます。

Head = v(_, x) 

これはHead場合に限っを成功するには、この形式のものであり、すべての方向に正しく動作します。

リストの要素はそれほど均質でない場合は、  arg/3使用することができます。Headが十分をインスタンス化し、すでにこれだけの理由でされている場合、これはのみ動作することを

arg(2, Head, x) 

は注意を以下 好ましい

 
?- arg(2, v(a,x), x). 
true. 

?- arg(2, Head, x). 
ERROR: arg/3: Arguments are not sufficiently instantiated 
+0

ターnks、それを得た!同じ考えが5分後に私にやってきた。 :D – Daesos

+0

これを読んだ後5分を意味すると思います;-) – mat

+0

真剣に。私は単にプログラミングからの休憩が必要でした。 :D – Daesos

関連する問題