Crystal 语言中哈希的 .get 方法

.get method for hash in Crystal language

我有这个 Python 代码:

# some_dic is a dictionary
value = some_dic.get(var_name, None)

如何在 Crystal 中执行相同的操作?

映射类型在Python中称为字典,在Crystal中称为哈希。

可以使用 Hash#fetch 方法检索具有显式回退值的值:

numbers = {"Alice" => "0123", "Bob" => "0124"}
puts numbers.fetch("Charlie", "0000")

所以在你的情况下

value = some_dic.fetch(var_name, nil)

如果您的默认值应该是 nil 那么有一个方便的 Hash#[]? 方法:

puts numbers["Charlie"]?

阅读语言介绍中有关哈希的更多信息:https://crystal-lang.org/reference/1.3/syntax_and_semantics/literals/hash.html