我有一个这样的数组:
["marblecake", "also", "the", 1337]
我想要返回一个字符串,它包含数组中的每个元素,以某个指定的字符串为前缀,然后由另一个指定的字符串连接在一起。例如,
["marblecake", "also", "the", 1337].join_with_prefix("%", "__")
应该会导致
# => %marblecake__%also__%the__%1337
我该怎么做呢?
发布于 2009-04-29 17:20:33
如果您的数组是a
格式的,那么下面这一行代码就可以了
a.map { |k| "%#{k}" }.join("_")
您可以很容易地将其放入您自己的函数中-甚至将其添加到Array
类中,以便可以在数组上调用它,如示例中所示。
请注意,“!”map (map!
)的版本将在适当的位置修改数组--这可能不是您的意图。
发布于 2015-05-22 03:24:23
虽然这是一个非常老的问题,但我想补充一下:
a.any? && "%".+(a.join("__%"))
发布于 2012-08-16 21:15:57
我今天正在寻找一个解决方案,我发现这个question.This就是我的解决方案。
array = ["marblecake", "also", "the", 1337];
arrayString = ''
array.each{|x| arrayString += "%" + x + "__"}
https://stackoverflow.com/questions/803384
复制相似问题