gpt4 book ai didi

lisp - |5E| 是什么意思在 Common Lisp 中是什么意思?

转载 作者:太空宇宙 更新时间:2023-11-03 18:37:26 26 4
gpt4 key购买 nike

我在 Common Lisp 中收到以下错误消息。

什么是||在 CL 中是什么意思?

CL-USER> (write-to-string 5e)
The variable |5E| is unbound.
[Condition of type UNBOUND-VARIABLE]

最佳答案

|富|只是符号的打印表示。默认情况下,5e 不读作数字,因此它是一个符号,可以打印为 |5E|。还可以使用它在符号中包含各种字符,包括空格。 |这是一个符号,不是吗?| - 是的!

CL-USER > (describe '|this is a symbol, isn't it?|)

|this is a symbol, isn't it?| is a SYMBOL
NAME "this is a symbol, isn't it?"
VALUE #<unbound value>
FUNCTION #<unbound function>
PLIST NIL
PACKAGE #<The COMMON-LISP-USER package, 798/1024 internal, 0/4 external>

另请注意,Common Lisp 默认使用大写符号。读取的符号将大写。所以符号 foo 被读取,然后有一个符号名称“FOO”。要用小写或混合大小写字母表示一个符号,可以使用 |foo|。如果你用类似 (intern "foo") 的东西创建一个小写符号,那么它也会被打印为 |foo|。如果你用类似 (intern "FOO") 的东西创建一个大写命名的符号,那么它将被打印为 foo。这就是 5e 打印为 |5E| 的原因带有大写字母 E。

如果您有一个符号,您可以使用函数 SYMBOL-NAME 将其名称作为字符串获取。

您可以使用函数 PARSE-INTEGER 从字符串中读取整数。它有一个关键字参数:RADIX,你可以在其中提供读取的基数。

CL-USER > (parse-integer (symbol-name '5e) :radix 16)
94

否则使用#x5e 等十六进制数字或更改读取基数。

Frank Shearar 指出 Common Lisp HyperSpec 中的文档:2.3.4 Symbols as Tokens .

关于lisp - |5E| 是什么意思在 Common Lisp 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3155091/

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