我尝试在 MacOSX 和 Linux 上的多个不同 Julia REPL 会话中运行以下代码,并且总是得到完全相同的输出:
julia> hash(123), hash("123"), hash([1,2,3]), hash((1,2,3)), hash(Set([1,2,3])), hash(:123)
(0x54657e9dbfd649e5, 0xb4e92987fa06fcab, 0xecc5186e7be222c6, 0xafc764e9c2b7cde5, 0x66406071c4c9b92a,
0x54657e9dbfd649e5)
Run Code Online (Sandbox Code Playgroud)
问题:这种行为是由语言保证的吗?或者输出是否会有所不同(就像在 Python 中一样,跨会话、平台和版本)?
注意:这个问题与我关于基于散列的集合顺序稳定性的另一个问题有关,例如Set和Dict(它密切相关,但不同)。