【发布时间】:2010-08-19 15:02:49
【问题描述】:
将字符串数组转换为字符串的最佳惯用(最简洁)方法是什么,同时保留每个元素的封闭引号。
也就是说,由此而来:
a = ["file 1.txt", "file 2.txt", "file 3.txt"]
我需要得到这个
"'file 1.txt' 'file 2.txt' 'file 3.txt'"
单引号和双引号可以在这里互换。 我所知道的最好的方法是使用 map 和注入/减少。
例如: a.map{|dir| "'" + dir + "'"}.join(' ')
eg2: a.reduce("'"){|acc, dir| acc += dir+"' "}
通过避免创建临时字符串(+ 运算符)可以提高性能。不过,这不是我的主要问题。有没有更简洁更简洁的方法来达到同样的效果?
【问题讨论】:
-
数组成员中是否需要转义引号?
-
否,仅保留数组的开头和结尾引号,如上所示。我意识到显示的引号不在字符串本身中,这就是为什么在仅对数组进行连接时它们会被剥离。
标签: ruby