我想问你我如何在散列中匹配nil值,例如:
aAnimals = {1=>'dog', 2=>'cat'}
puts laAnimals[1] # dog
puts laAnimals[2] # cat
puts laAnimals[3] # nil
如果数值为零或大于矩阵的长度,我如何设置“无动物”,例如:
laAnimals = {1=>'dog', 2=>'cat'}
laAnimals.default = 'no animal'
puts laAnimals[1] # dog
puts laAnimals[2] # cat
puts laAnimals[3] # no animal
我想要这样的东西:
laAnimals = {1=>'dog', 2=>'cat', default='no animal'}
…有可能吗? 最佳答案
Exupery的答案是正确的,但是如果您没有权限创建您正在使用的哈希,则可以使用Hash#fetch
(docs)。
laAnimals = {1=>'dog', 2=>'cat'}
puts laAnimals.fetch(1, 'no animal') # dog
puts laAnimals.fetch(2, 'no animal') # cat
puts laAnimals.fetch(3, 'no animal') # 'no animal'
我个人更喜欢这种访问散列的方式,因为如果密钥(在您的示例中,
1
和2
)不存在,它将引发异常。关于ruby - RUBY:如何匹配哈希中的零值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30446436/