PrologでまったりPart 2
■ このスレッドは過去ログ倉庫に格納されています
0796デフォルトの名無しさん
2007/07/05(木) 18:16:07flatten/3 の方の第二節の第二、第三引数にのみ着目すると
flatten(_,Y,Z) :- flatten_element(_,Y,Z1),flatten(_,Z1,Z),!.
であり、これは
先祖(Y,Z) :- 親子(Y,Z).
先祖(Y,Z) :- 親子(Y,Z1),先祖(Z1,Z).
親子(頼朝,義朝).
親子(義朝,為義).
の変数パターンと全く同じだということがわかります。
ある程度経験を積んだプログラマは不完備データ構造という
決して易しくない述語定義を書き進めるうちに、ここは、
「多分あのパターンに違いない」とほとんど考えることなく
flatten/3の第二節を書き上げてしまいます。
>>795で凄いっていったのはそんな点です。
■ このスレッドは過去ログ倉庫に格納されています