符号的比较运算符
Comparison operators for Symbols
在 Julia 中,:a < :b
的计算结果总是 true
吗?
更一般地说,我可以依靠关系运算符(即 <
、>
、==
、<=
、>=
)对符号进行操作吗在 中 与他们对字符串的处理方式相同?
是的。源代码 here 显示 Julia 使用 C 函数 strcmp
进行比较:
cmp(a::String, b::String) = lexcmp(a.data, b.data)
cmp(a::Symbol, b::Symbol) = Int(sign(ccall(:strcmp, Int32, (Cstring, Cstring), a, b)))
在 Julia 中,:a < :b
的计算结果总是 true
吗?
更一般地说,我可以依靠关系运算符(即 <
、>
、==
、<=
、>=
)对符号进行操作吗在 中 与他们对字符串的处理方式相同?
是的。源代码 here 显示 Julia 使用 C 函数 strcmp
进行比较:
cmp(a::String, b::String) = lexcmp(a.data, b.data)
cmp(a::Symbol, b::Symbol) = Int(sign(ccall(:strcmp, Int32, (Cstring, Cstring), a, b)))