true (= "G" \G) => false (= \G \G) => tru-6ren">
gpt4 book ai didi

string - Clojure:字符字面相等

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

我认为,也许有点天真,Clojure 中的单个字符串将是相等的,无论它们是如何生成的。

(= "G" "G")
=>
true

(= "G" \G)
=>
false

(= \G \G)
=>
true

事实证明并非如此。谁能解释一下为什么吗?

最佳答案

字符与单字符字符串不同。相反,单字符字符串可以被视为一个序列,其第一个也是唯一的项目是一个字符。

(type "G")
;=> java.lang.String
(type \G)
;=> java.lang.Character

(count "G")
;=> 1
(count \G)
;=> UnsupportedOperationException count not supported on this type: Character

(seq "G")
;=> (\G)
(seq \G)
;=> IllegalArgumentException Don't know how to create ISeq from: java.lang.Character

(first "G")
;=> \G
(first \G)
;=> IllegalArgumentException Don't know how to create ISeq from: java.lang.Character

关于string - Clojure:字符字面相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35655329/

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