10/02/05 09:44:04
>>238
% Prolog ここでは構造体=述語定義と解釈してみる。
'構造体を利用して、氏名,年齢,性別が5人分書かれたテキストファイルを読み込んで、画面に表示する'(_テキストファイル) :-
'構造体を利用して、氏名,年齢,性別が5人分書かれた次のようなテキストファイルを読み込んで、(_テキストファイル,Lines),
abolish(氏名・年齢・性別/3),
'氏名・年齢・性別構造体として定義'(Lines).
画面に表示する,!.
'構造体を利用して、氏名,年齢,性別が5人分書かれたテキストファイルを読み込んで、(_テキストファイル,Lines) :-
get_lines(_テキストファイル,Lines),!.
'氏名・年齢・性別構造体として定義'([]) :- !.
'氏名・年齢・性別構造体として定義'([Line|R]) :-
split(Line,[' '],[_氏名,_年齢,_性別]),
assertz(氏名・年齢・性別(氏名(_氏名),年齢(_年齢),性別(_性別))),
'氏名・年齢・性別構造体として定義'(R).
画面に表示する :-
write('%20s %6s %4s\n',[氏名,年齢,性別]),
氏名・年齢・性別(氏名(_氏名),年齢(_年齢),性別(_性別)),
write_formatted('%20s %6d %4s\n',[_氏名,_年齢,_性別]),
fail.
画面に表示する.