从列表中单独打印的行

时间:2014-11-23 11:58:25

标签: prolog

假设我有一个列表

display(['1.Stack','2.Over','3.Flow','4.dotcom']).

当我查询display(X)之类的查询时,它会将所有内容打印在一行中。我希望它显示在单独的行中。 我可以通过递归和每次打印列表的头部来做到这一点,但还有其他方法可以做到这一点吗??因为我想让我的代码更短。

1 个答案:

答案 0 :(得分:2)

您可以通过writeln使用maplist/2列出元素来执行此操作:

mylist([quick,brown,fox,jumps,over,the,lazy,dog]).

:-mylist(X), maplist(writeln, X).

Demo

以上打印

quick
brown
fox
jumps
over
the
lazy
dog