2013-05-11 95 views
0

修改后的字符串我有一个数组红宝石产生从阵列

["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循环,并且然后将数组的每个元素附加到长字符串两次。有没有一种方便的方法来做到这一点?

回答

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