たとえば、マトリックスを印刷したいのですが、各行は別々の行にあります
?- print_matrix([[a,b,c],[d,e,f]]).
そして、私は取得したい
[a,b,c]
[d,e,f]
たとえば、マトリックスを印刷したいのですが、各行は別々の行にあります
?- print_matrix([[a,b,c],[d,e,f]]).
そして、私は取得したい
[a,b,c]
[d,e,f]
?-maplist(\ X ^(writeq(X)、nl)、[[a、b、c]、[d、e、f]])。 [a、b、c] [d、e、f] 本当。
library(lambda)を使用します。または:
writeqln(X):- writeq(X)、 nl。 ?-maplist(writeqln、[[a、b、c]、[d、e、f]])。
これを行う最も簡単な方法は、次のような再帰ルールwrite
を使用することです。nl
print_matrix([]).
print_matrix([H|T]) :- write(H), nl, print_matrix(T).
これはリスト処理のための「古典的な」Prologソリューションであり、空のリストを処理するファクトと、ヘッダー要素を1つずつ処理するルールがあります。