10/02/07 19:54:06
>>633
% Prolog 「1を返す」という部分が微妙な位置にある例。
入力された2つの文字列Str1,Str2を比較する(Str1,Str2,_診断) :-
'Str1にStr2の文字列が含まれている場合に1を返す'(Str1,Str2,_診断),!.
入力された2つの文字列Str1,Str2を比較する(Str1,Str2,_診断) :-
'Str1にStr2の文字列が含まれていない場合に-1を返す'(Str1,Str2,_診断),!.
'Str1にStr2の文字列が含まれている場合に1を返す'(Str1,Str2,1) :-
sub_atom(Str1,_,_,_,Str2),!.
'Str1にStr2の文字列が含まれていない場合に-1を返す'(Str1,Str2,(-1)) :-
\+(sub_atom(Str1,_,_,_,Str2)),!.