如何"加入"一个数组,在结果字符串的开头添加第一个要加入的字符?

use*_*052 3 ruby arrays join ruby-on-rails ruby-on-rails-3

我正在使用Ruby on Rails 3,我正在尝试join使用该&角色的数组.我阅读了关于它的Ruby文档.

我的阵列是:

["name1", "name2"]
Run Code Online (Sandbox Code Playgroud)

如果我做

["name1", "name2"].join("&")
Run Code Online (Sandbox Code Playgroud)

结果为

name1&name2
Run Code Online (Sandbox Code Playgroud)

我希望结果为

&name1&name2 # Note the first "&"
Run Code Online (Sandbox Code Playgroud)

一个解决方案是

["", "name1", "name2"].join("&")
Run Code Online (Sandbox Code Playgroud)

但我认为这不是一种"正确的方式".

那么,如何&name1&name2不使用["", "name1", "name2"].join("&")

joh*_*man 12

整个连接点是您只在连接的项目之间获取字符.你想要每个项目前面的一个.我不知道一个简短的方法,但只是映射它们然后在没有分隔符的情况下加入它们似乎更自然:

["name1", "name2"].map{|item| '&'+item}.join
Run Code Online (Sandbox Code Playgroud)