Ruby从数组中生成修改后的字符串

时间:2013-05-11 02:44:00

标签: ruby arrays string

我有一个数组

["http://www.google.com", "http://www.yahoo.com", "http://www.weather.com"]

我想生成一个长字符串

<a href="http://www.google.com">http://www.google.com</a>, <a href="http://www.yahoo.com">http://www.yahoo.com</a>, <a href="http://www.weather.com">http://www.weather.com</a>

我知道我可以写一个for循环,然后将数组的每个元素追加到长字符串两次。有没有更明智的方法呢?

1 个答案:

答案 0 :(得分:4)

你可以这样做:

urls = ["http://www.google.com", "http://www.yahoo.com", "http://www.weather.com"]
urls.collect { |url| "<a href=\"#{url}\">#{url}</a>" }.join (', ')

这会给你:

"<a href=\"http://www.google.com\">http://www.google.com</a>, <a href=\"http://www.yahoo.com\">http://www.yahoo.com</a>, <a href=\"http://www.weather.com\">http://www.weather.com</a>"