首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >格式化%10t来自实用通用LISP的错误

格式化%10t来自实用通用LISP的错误
EN

Stack Overflow用户
提问于 2013-03-30 00:23:56
回答 2查看 121关注 0票数 1

下面是该页面的链接:Chapter 3, Practical: A Simple Database。从本质上讲,我有一个列表数据库,其中包含我想要显示的四个值。这是用来完成的

代码语言:javascript
复制
(defun dump-db ()
  (dolist (cd *db*)
    (format t "~{~a:~10t~a~%~}~%" cd)))

唯一的问题是输出不太正确:

代码语言:javascript
复制
TITLE:  Home
ARTIST:   Dixie Chicks
RATING:   9
RIPPED:   T
... (Shortened for brevity)

由于某种原因,"Home“没有出现在第10栏,有人能告诉我为什么吗?我正在使用SBCL来运行代码,最新版本。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-30 01:24:19

两件事:

备注

0]说您正处于调试循环中。别管它了。help显示了该命令。

Problem

也许这是SBCL的一个bug。您可能想在它的邮件列表中讨论它。这将是有用的。

我的猜测是:

代码语言:javascript
复制
* (dump-db)
^^ <- 2 characters
TITLE:  Home
^^^^^^^^ <- 8 characters, 2 less than specified

如果您回到顶层,您会看到SBCL提示符是* -它有两个字符。现在您可以看到Home的第一个缩进少了两个字符。因此,Lisp打印机认为提示符的两个字符在同一行上,然后位置10在接下来的八个字符上-比所需的少两个字符。也许Lisp打印机被REPL的某种编程方式弄糊涂了。接下来的几行就可以了。

顺便说一句,这不会发生在LispWorks或Clozure CL上。

票数 3
EN

Stack Overflow用户

发布于 2013-03-30 00:26:52

代码语言:javascript
复制
0] (dump-db)    
TITLE:  Home
ARTIST:   Dixie Chicks
RATING:   9
RIPPED:   T

TITLE:    Fly
ARTIST:   Dixie Chicks
RATING:   8
RIPPED:   T

TITLE:    Roses
ARTIST:   Kethy Mattea
RATING:   7
RIPPED:   T


NIL
0] (dump-db)
TITLE:    Home
ARTIST:   Dixie Chicks
RATING:   9
RIPPED:   T

TITLE:    Fly
ARTIST:   Dixie Chicks
RATING:   8
RIPPED:   T

TITLE:    Roses
ARTIST:   Kethy Mattea
RATING:   7
RIPPED:   T


NIL
0] 

它似乎已经自我修复了..。然而,我不确定是如何或为什么(我仍然希望得到答案的问题)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15707198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档