このディレクトリの索引

do_while(_副目標,_実行条件,_副目標リスト,_終了時の副目標) :-
        findall(_副目標,(
                    repeat,
                    _副目標,
                    (\+(_実行条件),!,true;true)),
                _最終解として終了時副目標を含む副目標リスト),
        append(_副目標リスト,[_終了時の副目標],_最終解として終了時副目標を含む副目標リスト),!.
        
do_while(_副目標,_実行条件,_最終解として終了時副目標を含む副目標リスト) :-
        findall(_副目標,(
                    repeat,
                    _副目標,
                    (\+(_実行条件),!,true;true)),
                _最終解として終了時副目標を含む副目標リスト).
        
do_while(_副目標,_実行条件) :-
        repeat,
        _副目標,
        (   \+(_実行条件),!,true; fail),!.