什么是将一个字符串数组转换为一个字符串,同时为每个元素保留引号的最好的惯用(最干净的)方法。
换句话说,从这个:在Ruby中展开一串字符串
a = ["file 1.txt", "file 2.txt", "file 3.txt"]
我需要得到这个
"'file 1.txt' 'file 2.txt' 'file 3.txt'"
单引号和双引号可以在这里互换。 我知道的最好方法是使用map和inject/reduce。
例如:a.map{|dir| "'" + dir + "'"}.join(' ')
EG2:a.reduce("'"){|acc, dir| acc += dir+"' "}
性能可以通过避免温度字符串创建(+运算)而得到提高。这不是我的主要问题。有没有更简洁的方法来达到同样的效果?
你需要逃避阵列成员引号内? – 2010-08-19 16:15:05
不,只保留上面为阵列显示的开始和结束引号。我意识到,所显示的引号不在字符串本身中,这就是为什么在数组上只进行连接时被剥离的原因。 – Alkaline 2010-08-19 23:04:48