【问题标题】:Lisp Format ProcedureLisp 格式化程序
【发布时间】:2010-11-21 00:39:11
【问题描述】:

我开始用 Lisp 编程,但很难使用 Format 函数。

我的目标是将整数子列表的列表打印为行的 N 个整数。例如:

'((1 2 3)
(4 5 6)
(7 8 9))

应该打印为

1 2 3
4 5 6
7 8 9

我尝试在格式化过程中使用迭代,但失败了。

我写的是:

(format t "~{~S ~}" list)

但是有了这个我得到的子列表是“(1 2 3)”而不是“1 2 3”,所以我尝试了:

(format t "~:{ ~S ~}" list)

这次我进入了子列表但只打印了第一个元素,所以我介入并将函数重写为:

(format t "~:{ ~S ~S ~S ~}" list)

它适用于具有 3 个元素的子列表,但我怎样才能使它适用于 n 个元素?

谢谢!

【问题讨论】:

    标签: list lisp integer format


    【解决方案1】:
    (format t "~{~%~{~A~^ ~}~}"  '((1 2 3) (4 5 6) (7 8 9)))
    

    打印

    1 2 3
    4 5 6
    7 8 9
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-07
      • 2016-07-04
      • 2011-06-08
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 2013-12-03
      • 1970-01-01
      相关资源
      最近更新 更多