实施例,
> arr = ['a', 'b', 'c']
> arr.join('-')
=> "a-b-c"
是否有任何功能可以将另一个分隔符附加到最后一个?
> arr.func('-')
=> "a-b-c-"
谢谢。
答案 0 :(得分:3)
不,没有像这样的单一功能。你可以像这样破解它:
arr.push('').join('-')
如果您不想更改原始阵列。重复它:
arr.dup.push('').join('-')
答案 1 :(得分:1)
在这种情况下,您实际上并不想要join
,而是需要reduce
(通常由它的别名inject
引用):
arr.reduce('') { |concat, entry| concat + entry + '-' }
当然,还有很多其他方法可以完成这项工作,但拼写出来的方法并不那么聪明,因此当你稍后再回来(或其他人不得不对其进行处理)时,要弄清楚要容易得多)。
答案 2 :(得分:1)
另一种方式(只是说'):
arr.join.gsub(/./) { |c| c + '-' }
仍然喜欢
arr.join('-') << '-'
最简单。
答案 3 :(得分:0)
修改数组。
arr.map{|c| c.concat("-")}.join