2010-07-29 3 views
0

D'accord, ce code me donne exactement ce que je veux, mais il semble que cela pourrait être plus propre, alors voici le code:Ruby: Y a-t-il une façon plus élégante de faire cette boucle et ce tableau?

colour = ["red", "white", "orange", "black"] 
x=[] 
colour.each_with_index do |c, i| 
    x[i] = "<a href='http://#{c}.test.com'>#{c}</a>" 
end 
tags2 = x.join(", ") 
p "The code ==>#{tags2}<=== " 

Des preneurs?

+0

Vous pouvez lire la série dénombrable Énumération: http://www.globalnerdy.com/tag/enumerable/ –

Répondre

4
tags2 = colour.map {|c| "<a href='http://#{c}.test.com'>#{c}</a>" }.join(", ") 

map appelle juste un bloc pour chaque élément du tableau, puis renvoie le tableau de résultats.

+0

merci, très agréable - je savais qu'il y avait quelque chose de mieux, je suis en train de surmonter mon vieux codage de style! – rtfminc

1
tags = ["red", "white", "orange", "black"].map do |color| 
    "<a href='http://#{color}.test.com'>#{color}</a>" 
end.join(", ") 
p "The code ==>#{tags}<===" 
+0

merci, la commande de la carte est maintenant sur mon radar. – rtfminc

Questions connexes