gpt4 book ai didi

julia - Julia 1.0 中的子字符串与字符比较违反直觉

转载 作者:行者123 更新时间:2023-12-01 09:44:31 24 4
gpt4 key购买 nike

我是 Julia 语言的新手,在将子字符串与字符进行比较时看到了一些奇怪的行为。

我认为至少下面的第一个比较应该评估为 true .

有人可以告诉我如何比较这两个值并(奖励)指出为什么会出现这种违反直觉的结果?

julia> sq = "abcd"

julia> sq[1] == "a"
false

julia> isequal(sq[1],"a")
false

最佳答案

sq[1]返回 Char .使用 sq[1:1]获得 String .

你可以查什么sq[1]在 REPL 中返回:

julia> sq[1]
'a': ASCII/Unicode U+0061 (category Ll: Letter, lowercase)

所以你有了:
julia> sq[1] == 'a'
true

相比之下 CharChar .

另一方面与 sq[1:1]你有:
julia> sq[1:1]
"a"

julia> sq[1:1] == "a"
true

这种行为的原因是字符串被视为集合。同样,如果您有一个数组 x = [1,2,3]你没想到 x[1] == [1]而是 x[1] == 1 .

关于julia - Julia 1.0 中的子字符串与字符比较违反直觉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52555271/

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