トップページ > プログラム > 2015年10月29日 > raF10oud

書き込み順位&時間帯一覧

23 位/155 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000001102



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net

書き込みレス一覧

なあ、再帰関数好きな人いる? パート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のような言語でも、再帰で表現されている部分は
低水準過ぎて、コードからはどんどん減っていく傾向にあります。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。