このディレクトリの索引

# # 非決定性の置換述語を使って、全てを置換した文字列だけを取り出せ。 # 全てを置換した文字列だけを取り出す(_文字列,_置換対象文字列,_置換文字列,_全てを置換した文字列) :- findall(_置換された文字列,( 非決定性の置換(_文字列,_置換対象文字列,_置換文字列,_置換された文字列)),_置換された文字列ならび), append(_,[_全てを置換した文字列],_置換された文字列ならび),!. 非決定性の置換(_文字列,_置換対象文字列,_置換文字列,_置換された文字列) :- 置換(_文字列,_置換対象文字列,_置換文字列,_置換された部分までの文字列,_後文字列,_置換された文字列_1), 非決定性の置換(_置換対象文字列,_置換文字列,_置換された部分までの文字列,_後文字列,_置換された文字列_1,_置換された文字列). 非決定性の置換(_,_,_,_,_置換された文字列,_置換された文字列). 非決定性の置換(_置換対象文字列,_置換文字列,_置換された部分までの文字列,_後文字列,_置換された文字列_1,_置換された文字列) :- 非決定性の置換(_後文字列,_置換対象文字列,_置換文字列,_置換された文字列_2), atom_concat(_置換された部分までの文字列,_置換された文字列_2,_置換された文字列). 置換(_文字列,_置換対象文字列,_置換文字列,_置換された部分までの文字列,_後文字列,_置換された文字列) :- 副文字列(_文字列,_前文字列,_置換対象文字列,_後文字列), 置換された文字列(_前文字列,_置換文字列,_置換された部分までの文字列,_後文字列,_置換された文字列),!. 置換された文字列(_前文字列,_置換文字列,_置換された部分までの文字列,_後文字列,_置換された文字列) :- atom_concat(_前文字列,_置換文字列,_置換された部分までの文字列), atom_concat(_置換された部分までの文字列,_後文字列,_置換された文字列). 副文字列(_文字列,_前文字列,_置換対象文字列,_後文字列) :- atom_concat(_前文字列,_残り文字列,_文字列), atom_concat(_置換対象文字列,_後文字列,_残り文字列).