このディレクトリの索引
#  [1] 授業単元: 
#  [2] 問題文 
#  今テキストファイルAが1つとBが10個あるとする。 
#  Aには 
#  haru 
#  natsu 
#  aki 
#  fuyu 
#  とかかれ 
#  Bにはそれぞれのテキストに以下のような文字列がかかれている 
#  wheiowfjhoiejwio2121oij3io12ji2oj3io2j3oijo 
#  iouaiojoiajwioejio121j3oi1j2iojlajia 
#  これらをまとめ 
#  テキストCに 
#  aki[tab]wheiowfjhoiejwio2121oij3io12ji2oj3io2j3oijo[改行] 
#  natsu[tab]iouaiojoiajwioejio121j3oi1j2iojlajia[改行] 
#  になるようなプログラムをかけ 
#  ただし。Bのそれぞれのテキストは非常に長くても大丈夫にせよ。 
#  [3] 環境 [3.1] OS:linux 
#   [3.2] gcc 
#   [3.3 C 
#  [4] 期限: 5/23 

'今テキストファイルAが1つとBが10個あるとする。
Aには
haru
natsu
aki
fuyu
とかかれ
Bにはそれぞれのテキストに以下のような文字列がかかれている
wheiowfjhoiejwio2121oij3io12ji2oj3io2j3oijo
iouaiojoiajwioejio121j3oi1j2iojlajia
これらをまとめ
テキストCに
aki[tab]wheiowfjhoiejwio2121oij3io12ji2oj3io2j3oijo[改行]
natsu[tab]iouaiojoiajwioejio121j3oi1j2iojlajia[改行]
になるようなプログラムをかけ
ただし。Bのそれぞれのテキストは非常に長くても大丈夫にせよ。' :-
         テキストファイルAとならびBに現れるファイルを結合する(_A,_ならびB).

テキストファイルAとならびBに現れるファイルを結合する(_A,_ならびB) :-
        open(_A,read,Instream),
        テキストファイルAの一行とならびBに現れる一つのファイルを順番に結合する(Instream,_ならびB),
        close(Instream).

テキストファイルAの一行とならびBに現れる一つのファイルを順番に結合する(_,[]) :- !.
テキストファイルAの一行とならびBに現れる一つのファイルを順番に結合する(Instream,[File|R]) :-
        get_line(Instream,Line),
        get_chars(File,Chars),
        表示する(Line,Chars),
        テキストファイルAの一行とならびBに現れる一つのファイルを順番に結合する(Instream,R).

表示する(Line,Chars) :-
        atomic_list_concat([Line,'\t'|Chars],_表示文字列]),
        writef('%t\n',[_表示文字列]).