【发布时间】:2013-03-06 22:17:30
【问题描述】:
我需要编程方面的帮助。我正在使用 Common Lisp 进行编码,并且正在尝试从字符串列表中删除标签。我读入一个 XML 格式的文件,我的目标是删除出现在 < 和 > 之间的任何文本,如果标签以 ?xml 开头,则需要删除整行。我知道有remove/delete/ 函数可以在命令行上使用,但我试图在我的实际Lisp 代码中进行这种删除,但我不知道该怎么做。每次我尝试都会出错。
现在这是我用于读取文件的代码(有效):
;;;Program: Lisp Assignment 1
;;;Author: Mouse
(defun file-lines (file)
;;;returns a list of strings and the number of
;;;lines read.
(with-open-file (i file)
(loop for line = (read-line i nil nil)
and line-count from 0
while line
collect line into lines
finally (return (values lines line-count)))))
我的想法是,在while line 行之后,我必须输入代码来检查标签,但我不知道该使用什么。每次我调用 remove 或 delete 方法时,都会出现错误。我不知道我是否没有正确地称呼他们或其他什么。有人可以帮忙吗?
【问题讨论】: