>>69
% Prolog (その一)

テキストAの一番右の列の数値3つをそれぞれ上から順番に、テキストBの一番右の列の
数値に足す(_テキストA,_テキストB) :-
    get_lines(_テキストA,LinesA),
    get_lines(_テキストB,LinesB),
    テキストAの一番右の列の数値3つをそれぞれ上から順番に、テキストBの一番
右の列の数値に足す(LinesA,LinesB,LinesC),
    put_lines(_テキストB,LineC).

テキストAの一番右の列の数値3つをそれぞれ上から順番に、テキストBの一番右の列の
数値に足す(LinesA,LinesB,LinesC) :-
    テキストの一番右の列の数値を切り取る(LinesA,LA),
    テキストの一番右の列の数値を切り取る(LinesB,LB),
    加算([LA,LB],LC),
    テキストBの最終数値要素を置換(LB,LC,LineC).

テキスト一番右の列の数値を切り取る([],[]) :- !.
テキスト一番右の列の数値を切り取る([Line|R1],[V|R2]) :-
    split(Line,[ ],L),
    数値要素が3個以上(L),
    last(L,V),
    テキストAの一番右の列の数値を切り取る(R1,R2).