gpt4 book ai didi

string - 方案 - 字符串附加错误类型以应用错误

转载 作者:太空宇宙 更新时间:2023-11-03 19:00:44 24 4
gpt4 key购买 nike

我有这个代码

(lambda (symbol)
(let*(
(datalist (get-list symbol))
(desc " ")
(html "<table border=\"1\">")
(html (string-append html "<tr><td>" (list-ref datalist 1) "</td><t\
r><td>" (list-ref datalist 2) "</td></tr>"))
)
(do ((p 7 (+ 7 p)))
((> p (-(length datalist) 2)))
(desc (string-append desc "<tr><td>"(list-ref datalist p) "</td><td>"\
(list-ref datalist (+ p 1))"</td></tr>"))
)
(set! html (string-append html desc "</table>"))
html
)
)

我基本上是从数据列表中获取一些元素并向它们添加一些 html 标签。但是,当我运行代码时,我在 desc 绑定(bind)(第 4 行)上收到“应用错误的错误类型”。是什么赋予了?即使我将其更改为诸如“foo”之类的值,我仍然会收到错误的类型错误。

有什么建议吗?

最佳答案

错误不在绑定(bind)中,而是在循环体中:

(desc (string-append desc …))

您正在尝试将 desc 当作一个过程来应用 - 但它是一个字符串。所以基本上那部分代码正在做与此等效的事情:

("s1" "s2")

这将导致报告的错误。或许您打算这样做?

(set! desc (string-append desc …))

我会猜测您要实现的目标。并且确实注意到代码的正确缩进和格式化如何有助于使其清晰:

(lambda (symbol)
(let* ((desc " ")
(datalist (get-list symbol))
(html (string-append "<table border=\"1\">"
"<tr><td>"
(list-ref datalist 1)
"</td><tr><td>"
(list-ref datalist 2)
"</td></tr>")))
(do ((p 7 (+ 7 p)))
((> p (- (length datalist) 2)))
(set! desc (string-append desc
"<tr><td>"
(list-ref datalist p)
"</td><td>"
(list-ref datalist (+ p 1))
"</td></tr>")))
(string-append html desc "</table>")))

关于string - 方案 - 字符串附加错误类型以应用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24946680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com