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
你的第一个例子是有效的,因为Ruby将解构块参数。 有关ruby中的解构的更多信息,请参阅此文章 。
您正在寻找的方法是Array#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
- Rails 4 form_for error:ActionController的未定义方法`model_name’::参数:Class
- NameError:未定义的局部变量或方法`remember_digest和NoMethodError
- 无法在Rails上安装pg gem
- 将ACL实施到Rails应用程序的最佳方法是什么?
- ActiveMerchant是否支持基于订阅的事务
- Ruby和为Float实例修改self
- MRI和YARV Ruby实现 – Ruby 1.9中发生了什么?
- 运行一次性任务以在Ruby中将值输入数据库
- Rails ActiveStorage错误 – MessageVerifier-InvalidSignature