0

品番を確認しておらず、誤解を招いてしまい申し訳ありません…

私は配列を持っています:

配列 = [リンク 1、リンク 2、リンク 3、リンク 4 など]

名前とリンクの 2 つの項目を持つ array_of_hashes

hash = [ :names, :links ] 例
array_of_hashes = [{ :names => name1, :links => link1}, {:names = name2, :links => link2}, ... ]

配列からのリンクを含む array_of_hashes からのアイテムの各ペアで何かをしたいと思います。

UPD: 改訂されたデータ...誤解して申し訳ありません。

4

2 に答える 2

0

少し漠然とした質問でしたが、ここにそのショットがあります。

: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ペアである場合、名前またはリンクのどちらの部分で何かを行うかを識別する必要があります。

于 2012-08-08T17:46:28.483 に答える
0

ハッシュの配列を列挙し、リンク配列を検索します。

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
于 2012-08-08T14:49:28.077 に答える