gpt4 book ai didi

Ruby 哈希错误 : undefined method [] when attempting to set deeply nested keys

转载 作者:数据小太阳 更新时间:2023-10-29 06:52:05 25 4
gpt4 key购买 nike

我有一段代码是这样的:

my_hash = {}
first_key = 1
second_key = 2
third_key = 3
my_hash[first_key][second_key][third_key] = 100

ruby 解释器给了我一个错误:

undefined method `[]' for nil:NilClass (NoMethodError)

那么这是否意味着我不能那样使用哈希?还是您认为此错误可能是其他原因造成的?

最佳答案

哈希默认不嵌套。由于 my_hash[first_key] 未设置任何值,因此它是 nil。并且 nil 不是散列,因此尝试访问其中一个元素失败。

所以:

my_hash = {}
first_key = 1
second_key = 2
third_key = 3

my_hash[first_key] # nil
my_hash[first_key][second_key]
# undefined method `[]' for nil:NilClass (NoMethodError)

my_hash[first_key] = {}
my_hash[first_key][second_key] # nil

my_hash[first_key][second_key] = {}

my_hash[first_key][second_key][third_key] = 100
my_hash[first_key][second_key][third_key] # 100

关于Ruby 哈希错误 : undefined method [] when attempting to set deeply nested keys,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10392584/

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