【问题标题】:Convert array of strings to joined strings将字符串数组转换为连接字符串
【发布时间】:2013-05-29 23:39:16
【问题描述】:

输入:

 array = ['A', 'B', 'C']

期望的输出:

'A', 'B', 'C'

我正在使用legato gem 链接谷歌分析过滤器。我的方法调用如下所示:

response = KeywordRevenueData.results(profile, self.options).for_keywords(array)

我认为这会起作用,

array.map(&:inspect).join(", ")

但由于某种原因它没有。

编辑: 当我将文字字符串放在方法调用中时,它工作正常:

response = KeywordRevenueData.results(profile, self.options).for_keywords("A", "B", "C")

如果单引号或双引号是方法调用中的文字,它们似乎可以正常工作

【问题讨论】:

  • 这行得通,但它会产生带有双引号的字符串:'"A", "B", "C"'
  • 包括一个工作示例。我这辈子都想不通
  • 哦,那你只需要使用 . for_keywords(*array)
  • @SergeyBolgov:回答一下
  • 太棒了,谢谢!那到底有什么作用?请给出答案,以便我将其标记为正确

标签: ruby-on-rails ruby arrays


【解决方案1】:

使用 * 将数组元素作为参数传递:

response = KeywordRevenueData.results(profile, self.options).for_keywords(*array)  # Note the *

【讨论】:

    【解决方案2】:

    你可以使用:

    array.map{|l| "'" + l + "'"}.join(", ")
    

    如果您需要强制出现周围的引号

    这个答案也有有趣的建议:

    【讨论】:

      猜你喜欢
      • 2011-06-18
      • 2017-11-27
      • 2018-03-08
      • 1970-01-01
      • 2017-09-25
      • 2022-01-23
      相关资源
      最近更新 更多