0

当有键匹配时,我试图合并两个数组。

“mac”数组应该匹配“id[0]”键,如果匹配为真,则将“id[1]”值附加到我的“ip”中。

本例将使用“计算机”、“IP 地址”和“MAC 地址”

id = {
  '01:02:03:04:05:06' => 'Desktop'
  '07:08:09:10:11:12' => 'Laptop'
}

ip = { '192.168.0.10', '192.168.0.20' }
mac = { '01:02:03:04:05:06', '07:08:09:10:11:12' }

到目前为止我正在使用的代码;

net = ip.zip(mac)
net.each do |ip,mac|
  puts "#{ip} / #{mac}"
end

示例输出(需要):

192.168.0.10 / 01:02:03:04:05:06 / Desktop
192.168.0.20 / 07:08:09:10:11:12 / Laptop
4

1 回答 1

2

在您的示例id中(将其重命名为hostnames)是哈希而不是数组,因此您可以即时查找并将行更改puts为:

puts "#{ip} / #{mac} / #{id[mac]}"

不确定这是否符合您的问题和要求。如果是这样,请更改问题标题(哈希查找)。

于 2013-11-12T16:26:13.793 回答