我认为答案是否是
的结果(eq "a" "a")
是nil
。那么,这是否意味着创建一个持有字符串的单个常量符号并使用符号而不是实际字符串对所有内容进行字节编译会更快?我不确定如何正确测试。
答案 0 :(得分:1)
elisp reader 每当读取字符串文字时都会创建一个新对象。
读者将(eq "a" "a")
转换为三个对象的列表以供后续评估:实习符号eq
和两个字符串对象。
两个字符串对象是equal
和string-equal
,因为它们具有相同的值;但它们是不同的对象,所以它们不是eq
。