Ruby将数组解包到块

Ruby将数组解包到块,ruby,arrays,multidimensional-array,Ruby,Arrays,Multidimensional Array,我怎样做: settings = [ ['127.0.0.1', 80], ['0.0.0.0', 443] ] 而不是: settings.each do |ip, port| ... end 第一个示例之所以有效,是因为Ruby将分解块参数。有关ruby中的解构的更多信息,请参见本文 您正在寻找的方法是数组#map 它将返回 #//=>IP:127.0.0.1端口:80 #//=>IP:0.0.0.0端口:443就这么做吧。它会像你一样工作。 settings.each do

我怎样做:

settings = [ ['127.0.0.1', 80], ['0.0.0.0', 443] ]
而不是:

settings.each do |ip, port|  
    ...
end

第一个示例之所以有效,是因为Ruby将分解块参数。有关ruby中的解构的更多信息,请参见本文

您正在寻找的方法是数组#map

它将返回
#//=>IP:127.0.0.1端口:80

#//=>IP:0.0.0.0端口:443

就这么做吧。它会像你一样工作。
settings.each do |config|  
    ip, port = *config
    ...
end
settings = [ ['127.0.0.1', 80], ['0.0.0.0', 443] ]
settings.map { |ip, port| puts "IP: #{ip} PORT: #{port}"  }