このディレクトリの索引
%  
%  ?- 戦艦(_艦船名,_レベル,_耐久,_火力,_雷装,_対空,_速力).

出典('twitter by @kamina741').

戦艦(比叡改二,124,91,144,0,100,高速).
戦艦(比叡改二,112,91,131,0,90,高速).
戦艦(比叡改,110,83,134,0,96,高速).
戦艦(比叡改,107,83,174,0,75,高速).
戦艦(比叡改,107,83,121,0,95,高速).
戦艦(比叡改,100,83,145,0,99,高速).
戦艦(比叡改,100,83,121,0,95,高速).
戦艦(比叡,100,71,78,0,29,高速).
戦艦(比叡,100,71,64,0,25,高速).
戦艦(比叡,100,71,98,0,32,高速).


テーブル定義(戦艦,1,艦船名).
テーブル定義(戦艦,2,レベル).
テーブル定義(戦艦,3,耐久).
テーブル定義(戦艦,4,火力).
テーブル定義(戦艦,5,雷装).
テーブル定義(戦艦,6,対空).
テーブル定義(戦艦,7,速力).


テーブル検索(_テーブル名,_条件項目名ならび,_条件値ならび,_検索項目名,_検索した値) :-
        テーブル定義をもとに値ならびを生成(_テーブル名,_値ならび),
        条件値ならびの設定(_テーブル名,_条件項目名ならび,_条件値ならび,_値ならび),
        値ならび中の検索項目を選択(_テーブル名,_検索項目名,_値ならび,_検索した値),
        値ならび(_テーブル名,_値ならび).

テーブル検索(_テーブル名,_検索項目名,_検索した値) :-
        テーブル定義をもとに値ならびを生成(_テーブル名,_値ならび),
        値ならび中の検索項目を選択(_テーブル名,_検索項目名,_値ならび,_検索した値),
        値ならび(_テーブル名,_値ならび).

テーブル定義をもとに値ならびを生成(_テーブル名,_値ならび) :-
        findall(_,テーブル定義(_テーブル名,_,_),_値ならび).

条件値ならび(_,[],[],_値ならび).
条件値ならび(_テーブル名,[_条件項目名|R1],[_条件値|R2],_値ならび) :-
        テーブル定義(_テーブル名,_nth1,_条件項目名),
        nth1(_nth1,_値ならび,_条件値),
        条件値ならび(_テーブル名,R1,R2,_値ならび).

値ならび中の検索項目を選択(_テーブル名,_検索項目名,_値ならび,_検索した値) :-
        テーブル定義(_テーブル名,_nth1,_検索項目名),
        nth1(_nth1,_値ならび,_検索した値).

値ならび(_テーブル名,_値ならび) :-
        _副目標 =.. [_テーブル名|_値ならび],
        catch(_副目標,error(S,_error),true),
        実行検査(_項,_error).

実行検査(_項,_error) :-
        var(_error),!.

参照('Prolog Wikipedia リレーショナルデータベース').