このディレクトリの索引

split(_文字列,_区切り文字列ならび,[_区切り文字までの文字列|R2]) :-
        区切り文字までの文字列を得る(_文字列,_区切り文字列ならび,_区切り文字までの文字列,_残り文字列),
        split(_残り文字列,_区切り文字列ならび,R2).
split(_文字列,_区切り文字列ならび,[_文字列]) :-
        区切り文字までの文字列に区切り文字を含まない(_文字列,_区切り文字列ならび).


区切り文字までの文字列を得る(_文字列,_区切り文字列ならび,_区切り文字までの文字列,_残り文字列) :-
        先頭から区切り文字を捕まえる(_文字列,_区切り文字列ならび,_区切り文字列までの文字列,_残り文字列),
        区切り文字までの文字列に区切り文字を含まない(_区切り文字までの文字列,_区切り文字列ならび).

先頭から区切り文字を捕まえる(_文字列,_区切り文字列ならび,_区切り文字列までの文字列,_残り文字列) :-
        sub_atom(_文字列,_発見した位置,_,_残り文字数,_区切り文字列),
        member(_区切り文字列,_区切り文字列ならび),
        sub_atom(_文字列,0,_発見した位置,_,_区切り文字列までの文字列),
        sub_atom(_文字列,_,_残り文字数,0,_残り文字列).

区切り文字までの文字列に区切り文字を含まない(_区切り文字までの文字列,_区切り文字列ならび) :-
        member(_区切り文字列,_区切り文字列ならび),
        sub_atom(_区切り文字までの文字列,_,_,_,_区切り文字列),
        !,
        fail.
区切り文字までの文字列に区切り文字を含まない(_,_).