【问题标题】:Ruby: Is there a more elegant way of doing this loop & array?Ruby:有没有更优雅的方式来处理这个循环和数组?
【发布时间】:2010-07-29 21:39:52
【问题描述】:

好的,这段代码正是我想要的,但它似乎可以更简洁,所以这里是代码:

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}<=== " 

有接受者吗?

【问题讨论】:

标签: ruby


【解决方案1】:
tags2 = colour.map {|c| "<a href='http://#{c}.test.com'>#{c}</a>" }.join(", ")

map 只是为数组中的每个元素调用一个块,然后返回结果数组。

【讨论】:

  • 谢谢,非常好 - 我知道有更好的东西,我正在努力克服我的旧式编码!
【解决方案2】:
tags = ["red", "white", "orange", "black"].map do |color|
    "<a href='http://#{color}.test.com'>#{color}</a>"
end.join(", ")
p "The code ==>#{tags}<==="

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-11
    • 1970-01-01
    • 2020-01-08
    • 2012-08-31
    相关资源
    最近更新 更多