Arrays 将多个值保存到一个键,并且仍然使用hash.value?([';something';])
我需要用同一个键将更多的值保存到Ruby中的哈希中。但我仍然希望能够使用Arrays 将多个值保存到一个键,并且仍然使用hash.value?([';something';]),arrays,ruby,hash,Arrays,Ruby,Hash,我需要用同一个键将更多的值保存到Ruby中的哈希中。但我仍然希望能够使用.value?找到它们 若将数组保存为哈希,则找不到单个值 例如,如果我有数组['something','something2'],我必须将其保存到散列中的索引1中。然后hash.value?(['something'])返回false。我需要它返回真值。我如何才能做到这一点?可能的方法之一: hash.values.flatten.include?('something') 您是在检查哈希值中是否包含字符串'someth
.value?
找到它们
若将数组保存为哈希,则找不到单个值
例如,如果我有数组['something','something2']
,我必须将其保存到散列中的索引1中。然后hash.value?(['something'])
返回false。我需要它返回真值。我如何才能做到这一点?可能的方法之一:
hash.values.flatten.include?('something')
您是在检查哈希值中是否包含字符串'something'
,还是在检查哈希值是否包含包含一个字符串元素'something'的数组值,即['something']
?如果是第一个,请使用类似于hash.values.flatte.include的内容(“某物”)
。否则,hash.value?(['something'])
将正确返回false
,因为hash的值不是[“something”]
要添加@nsave所说的内容,可以执行以下操作之一:
hash.values.flatten.include?('something')
或者按键查找。这可能更直接,也更符合你的要求。你没有说你在用什么键,而是说你在用:things
:
hash[:things] = ['something', 'something2']
#=> ["something", "something2"]
hash[:things].include? 'something'
#=> true
不要在回答中要求澄清。在评论中要求澄清,并将答案作为答案发布。