Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 将多个值保存到一个键,并且仍然使用hash.value?([';something';])_Arrays_Ruby_Hash - Fatal编程技术网

Arrays 将多个值保存到一个键,并且仍然使用hash.value?([';something';])

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

我需要用同一个键将更多的值保存到Ruby中的哈希中。但我仍然希望能够使用
.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

不要在回答中要求澄清。在评论中要求澄清,并将答案作为答案发布。