- なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
671 :デフォルトの名無しさん[sage]:2015/10/29(木) 21:27:12.10 ID:raF10oud - Prologの典型的な再帰の形式。
p(_x,_y) :- q_1(_x,_y). p(_x,_y) :- q_2(_x,_y). q_2(_x,_y) :- r(_x,_z), p(_z,_y).
| - なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
672 :デフォルトの名無しさん[sage]:2015/10/29(木) 22:03:31.56 ID:raF10oud - Prologでリストの内容を合計するには
sum_list(L,S) :- sum_list(L,0,S). sum_list([],S,S). sum_list([M|R],S1,S) :- S2 is S1 + M, sum_list(R,S2,S). というような定義をするのですが、これは組込述語(ライブラリのようなもの)に なっていて、いちいち定義はしません。 再帰だけでできているPrologのような言語でも、再帰で表現されている部分は 低水準過ぎて、コードからはどんどん減っていく傾向にあります。
|
|