Массив распаковки Ruby для блокировки settings = [ ['127.0.0.1', 80], ['0.0.0.0', 443] ] Как я могу сделать: settings.each do |ip, port| ... end Вместо: settings.each do |config| ip, port = *config ... end Ответ 1 Ваш первый пример работает, потому что Ruby разрушит аргументы блока. См. Статью для получения дополнительной информации о деструкции в рубине. Ответ 2 Метод, который вы ищете, это массив # map settings = [ ['127.0.0.1', 80], ['0.0.0.0', 443] ] settings.map { |ip, port| puts "IP: #{ip} PORT: #{port}" } который вернется #//= > IP: 127.0.0.1 ПОРТ: 80 #//= > IP: 0.0.0.0 PORT: 443
Ответ 1 Ваш первый пример работает, потому что Ruby разрушит аргументы блока. См. Статью для получения дополнительной информации о деструкции в рубине.
Ответ 2 Метод, который вы ищете, это массив # map settings = [ ['127.0.0.1', 80], ['0.0.0.0', 443] ] settings.map { |ip, port| puts "IP: #{ip} PORT: #{port}" } который вернется #//= > IP: 127.0.0.1 ПОРТ: 80 #//= > IP: 0.0.0.0 PORT: 443