-1

输入:

 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")

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

4

2 回答 2

1

你可以使用:

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

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

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

于 2013-05-29T23:43:43.520 回答
1

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

response = KeywordRevenueData.results(profile, self.options).for_keywords(*array)  # Note the *
于 2013-05-30T00:00:40.380 回答