2013-03-24 1 views
11
settings = [ ['127.0.0.1', 80], ['0.0.0.0', 443] ] 

Come posso fare:Rubino serie unpack per bloccare

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

Invece di:

settings.each do |config| 
    ip, port = *config 
    ... 
end 
+6

Basta farlo. Funzionerà come tu hai. – sawa

risposta

8

Il tuo primo esempio funziona perché Ruby destrutturare argomenti di blocco. Vedere questo article per ulteriori informazioni sulla destrutturazione in rubino.

2

Il metodo che stai cercando è Array # map

settings = [ ['127.0.0.1', 80], ['0.0.0.0', 443] ] 
settings.map { |ip, port| puts "IP: #{ip} PORT: #{port}" } 

che restituirà
# // => IP: 127.0.0.1 PORT: 80
# // => IP: 0.0 .0.0 PORT: 443