[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 02/02 05:23 / Filesize : 462 KB / Number-of Response : 749
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

いろんな言語で宿題スレ 第三編



110 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 16:42:37 ]
>>109
% Prolog (その一) 一般化できる部分のみ。集約データの収集/3,_述語/_アリティに対応する述語定義
% データベースの項目に関する情報述語と集約項目に関する述語が別に必要。

集約述語の生成(_述語/_アリティ,_集約述語ならび) :-
  findall(_集約キー,集約キーの生成(_述語/_アリティ,_集約キー),_集約キーならび),
  集約述語の生成(_述語/_アリティ,_集約キーならび,_集約述語ならび).

集約述語の生成(_述語/_アリティ,[],[]) :- !.
集約述語の生成(_述語/_アリティ,[_集約キー|R1],[_集約述語名/_アリティ2|R2]) :-
  concat_atom(_集約キー,'・',_集約述語名),
  length([_|_集約キー],_アリティ2),
  集約データの収集(_述語/_アリティ,_集約キー,_集約データならび),
  集約データの定義(_集約述語名,_集約データならび),
  集約述語の生成(_述語/_アリティ,R1,R2).

集約データの定義(_,[]) :- !.
集約データの定義(_集約述語名,[_集約データ|R]) :-
  P =.. [_集約述語名|_集約データ],
  assertz(P),
  集約データの定義(_集約述語名,R).

集約キーの生成(_述語/_アリティ,_集約キー) :-
  集約項目(_述語/_アリティ,L),
  append(L1,_,L),
  \+(L1=[]).






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<462KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef