Prolog 写経記 その 72 write_list_of_lists/2

(ほぼ) 毎日淡々と Prolog を写経します.元ネタはこちら.

Prologユーティリティライブラリ

Prologユーティリティライブラリ

今日は write_list_of_lists/2 を写経します.

解説

write_list_of_lists(List, N) はリストの一覧を現在の出力ストリームに書き出す.各リストは write_list_continued/2 によって出力される.出力行は N 個のブランクで字下げされ,リストの間は空行によって仕切られる.

ふむ.

モード

write_list_of_lists(+, +).

ふむ.

定義

では,こいつの定義を写経しませう.

write_list_of_lists([], _).
write_list_of_lists([List | LList], N) :-
	write_list_continued(List, N), nl, !,
	write_list_of_lists(LList, N).

最初の節は停止条件
次の節ではリストの最初の要素 (それもリスト) を write_list_continued/2 で出力して,リストの残りを再帰的に出力.
つまんね.

では使用例を写経しませう.

2 ?- write_list_of_lists([[a, b, c, d], [11, 23, 17, 4]], 4).

    a, b, c, d

    11, 23, 17, 4

Yes

つまんね.