gpt4 book ai didi

Ruby 新手问题 : hashes

转载 作者:数据小太阳 更新时间:2023-10-29 07:44:42 24 4
gpt4 key购买 nike

我有以下内容

class test
hash={}

def printHash
puts hash[1]
puts hash[2]
puts hash[3]
end
end

test.new.printHash

这打印:

1 
0
1

为什么会这样?我如何测试我是否在散列的那个位置放了东西?或者我错过了什么

最佳答案

你做得很好,但它似乎在做某事 因为hashbuiltin function它返回对象的 Fixnum 哈希码。当你在 Fixnum 上使用方括号时,你会得到 value of the specific bit .您要做的是创建一个实例变量,它以标记 @ 开头。此外,您必须在方法中创建实例变量,因此我们将使用每当创建类对象时调用的方法,initialize:

class Test
def initialize
@hash = {}
end

def printHash
puts @hash[1]
puts @hash[2]
puts @hash[3]
end
end

现在你会发现这三个都打印了 nil。要测试哈希是否具有特定键的值,您可以使用 has_key? .

关于Ruby 新手问题 : hashes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/848207/

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