我想检查“user”键是否存在于会话散列中。我该怎么做呢?
注意,我不想检查键的值是否为nil。我只是想检查“user”键是否存在。
我想检查“user”键是否存在于会话散列中。我该怎么做呢?
注意,我不想检查键的值是否为nil。我只是想检查“user”键是否存在。
当前回答
h = {}
if h.respond_to?(:key?) && h.key?('text') #with respond_to method check if it's hash
puts h['text']
end
其他回答
哈希实例有一个键?方法:
{a: 1}.key?(:a)
=> true
请确保使用符号键或字符串键,这取决于你的散列中有什么:
{'a' => 2}.key?(:a)
=> false
哈希的钥匙吗?方法告诉您给定的键是否存在。
session.key?("user")
另一种方法是这里
hash = {one: 1, two: 2}
hash.member?(:one)
#=> true
hash.member?(:five)
#=> false
你总是可以使用哈希#键?来检查键是否存在于散列中。
如果不是,它将返回false
hash = { one: 1, two:2 }
hash.key?(:one)
#=> true
hash.key?(:four)
#=> false
而散列# has_key ?就像Matz在这里指出的那样,它已经被弃用了,取而代之的是hash# key?
hash.key?(some_key)