gpt4 book ai didi

crystal-lang - 哈希。包括?在 Crystal 中给出奇怪的结果

转载 作者:行者123 更新时间:2023-12-04 05:09:07 24 4
gpt4 key购买 nike

我正在尝试编写与此 Python 代码等效的 Crystal:

test_hash = {}
test_hash[1] = 2
print(1 in test_hash)

这会打印 True,因为 1 是字典的键之一。

这是我试过的 Crystal 代码:

# Create new Hash
test_hash = Hash(Int32, Int32).new
# Map 1 to 2
test_hash[1] = 2
# Check if the Hash includes 1
pp! test_hash.includes?(1)

但是 includes? 在这里返回 false。为什么?我的 Python 代码的正确等价物是什么?

最佳答案

改用has_key?has_key? 询问哈希是否有那个键。

但是,includes? 检查某个键/值对是否在哈希表中。如果您只提供 key ,它将始终返回 false。

例子:

# Create new Hash
test_hash = Hash(Int32, Int32).new
# Map 1 to 2
test_hash[1] = 2
# Check if the Hash includes 1
pp! test_hash.has_key?(1)
# Check if the Hash includes 1 => 2
pp! test_hash.includes?({1, 2})


# Pointless, do not use
pp! test_hash.includes?(1)

关于crystal-lang - 哈希。包括?在 Crystal 中给出奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51092535/

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