178 我有一个像这样的红宝石数组['12','34','35','231']。 我想将其转换为类似的字符串'12','34','35','231'。 我怎样才能做到这一点? ruby arrays string — 萨钦河 source
314 我将通过以下方式加入其中: ['12','34','35','231'].join(', ') 编辑: "'#{['12','34','35','231'].join("', '")}'" 一些字符串插值以添加第一个和最后一个单引号:P — 腐蚀的 source 1 结果为“ 12,34,35,231”。结果中缺少单引号。 — 伯纳德 1 好吧,添加了一些字符串插值以添加第一个和最后一个单引号:P — 被腐蚀 如何还原呢? — zx1986 你是什么意思回复@ zx1986 — 腐蚀了 @corroded对不起,我明白了。JSON.parse("[12, 39, 100]")将返回一个数组。 — zx1986
43 > a = ['12','34','35','231'] > a.map { |i| "'" + i.to_s + "'" }.join(",") => "'12','34','35','231'" — 沙德威尔 source 6 也许使用"'#{i}'"代替。 — MladenJablanović10年 认为地图是不需要的。加入应该可以解决问题。见下文 — djburdick
31 试试这个代码 ['12','34','35','231']*"," 将给您结果“ 12,34,35,231” 我希望这是你的结果,让我知道 — 兰吉思·库马尔·文加拉 source 我认为OP也需要使用单引号。 — Laf 2012年
9 string_arr.map(&:inspect).join(',') # or other separator — 阿维希尔 source 这不会产生正确的输出-值需要用单引号引起来。如果这是所需的输出,则string_arr.join(“,”)将是更好的选择。 — 肖恩·卡梅伦 肖恩,你错了。您是否至少运行过一次表达式? — avihil 2013年 还是错 它会在数组项周围产生双引号,而不是单引号。另外,它依赖于有关“ inspect()”打印数据的格式的假设,这使其易碎。 — 安德鲁·霍奇金森 ['1','2','3']。map {| o | “ \'#{o} \'”“} .join(',') — avihil 2014年
7 我觉得这种方式可读性和红宝石: add_quotes =- > x{"'#{x}'"} p ['12','34','35','231'].map(&add_quotes).join(',') => "'12','34','35','231'" — 广劳 source
5 > puts "'"+['12','34','35','231']*"','"+"'" '12','34','35','231' > puts ['12','34','35','231'].inspect[1...-1].gsub('"',"'") '12', '34', '35', '231' — 约翰·拉鲁伊 source
3 irb(main)> varA => {0=>["12", "34", "35", "231"]} irb(main)> varA = Hash[*ex.collect{|a,b| [a,b.join(",")]}.flatten] ... — 忍者猫 source
3 irb(main):027:0> puts ['12','34','35','231'].inspect.to_s[1..-2].gsub('"', "'") '12', '34', '35', '231' => nil — 恩戈泽夫 source