Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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
使用ruby从数组中查找具有项的哈希_Ruby_Arrays_Hash - Fatal编程技术网

使用ruby从数组中查找具有项的哈希

使用ruby从数组中查找具有项的哈希,ruby,arrays,hash,Ruby,Arrays,Hash,对不起,我错了,我没有检查物品类别 我有一个数组: array = [link1, link2, link3, link4, etc] 数组=[link1、link2、link3、link4等] 和包含两项的\u散列的数组\u:名称和链接 hash = [ :names, :links ] e.g. array_of_hashes = [{ :names => name1, :links => link1}, {:names = name2, :links => link2}, ... ] ha

对不起,我错了,我没有检查物品类别

我有一个数组:

array = [link1, link2, link3, link4, etc] 数组=[link1、link2、link3、link4等] 和包含两项的\u散列的数组\u:名称和链接

hash = [ :names, :links ] e.g. array_of_hashes = [{ :names => name1, :links => link1}, {:names = name2, :links => link2}, ... ] hash=[:名称,:链接]例如。 数组\u的散列=[{:names=>name1,:links=>link1},{:names=name2,:links=>link2},…] 我想对数组中的每一对项做一些事情,其中包括数组中的链接


UPD:修订数据。。。很抱歉理解错误。

枚举哈希数组并搜索链接数组

array = [:link1, :link2, :link3]
array_of_hashes = [{ :names => :name1, :links => :no_link}, {:names => :name2, :links => :link2}]

array_of_hashes.each do |hash|
  if array.any? {|s| s==hash[:links]}
    puts "Do something with #{hash[:names].to_s}"
  end
end

这是一个有点模糊的问题,但这里有一个镜头

除非:name是必需的,否则您需要重新排序您试图从散列中访问的内容

arr = ["link0", "link1",..."linkN"]
hsh = { "link0", item0, "link1", item1, "link1", item2,..."linkN", itemN}
hsh.each_pair | link, item |
  do_something_foo(item) if arr.include?(link) # do_something_foo is a predefined function
end
jagga99写道

我想处理散列中包含数组链接的每个项。非常感谢你的帮助


如果[:name,:link]是require对,那么您需要确定哪个部分是要处理的项:name还是link。

{:name,:link}在我看来不是有效的哈希。我认为你的问题需要进一步澄清。请更清楚地发布您的输入和预期输出。我想继续使用链接数组中包含的每个链接的名称