gpt4 book ai didi

common-lisp - 字符串的内部表示

转载 作者:行者123 更新时间:2023-12-02 21:51:34 26 4
gpt4 key购买 nike

根据我的理解,lisp 中的所有东西要么是一个原子,要么是一对。

字符串是否被视为原子?

lisp 编译器如何知道字符串是单纯的字符序列还是字符串?

foo'foo"foo" 一般来说有什么区别?

最佳答案

字符串是一个原子

您的第一个语句很简单,因为“原子”被定义为“非对”。

因此字符串绝对是一个原子:

(atom "a")
==> T

类(class)string实际上定义vectorcharacter s(或其子类型):

A string is a specialized vector whose elements are of type character or a subtype of type character. When used as a type specifier for object creation, string means (vector character).

什么?集合是一个原子?!!

这违背了“集合”不可能是“原子”的普遍理解。然而,在 Lisp 中,数组、向量、哈希表、结构体、类对象都是原子。基本原理(除了古代历史之外)是实现 ( eval ) 不必查看原子内部 - 它们会评估自身(符号除外)。

引用

foo 是一个 symbol ,'fooidentical to (quote foo) ,并且 "foo" 是一个字符串。

进一步阅读

您应该看一下基本的 Lisp 教科书(例如 "Practical CommonLisp""ANSI Common Lisp" )。

关于common-lisp - 字符串的内部表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27883957/

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