使用collect为数组的值添加引号

时间:2013-03-25 19:09:24

标签: ruby arrays

这是我的数组[1, 6, 8, 16, 21]。我希望它是["1", "6", "8", "16", "21"]

我试过了:

[1, 6, 8, 16, 21].collect {|x| "x" }
=> ["x", "x", "x", "x", "x"]

正在使用收集正确的方式吗?如何格式化collect函数以获取我的值周围的引号?

3 个答案:

答案 0 :(得分:6)

我认为你不明白那些引用是什么意思。你真正想要的是采用一组整数并将其转换为字符串的数组。

a = [1, 6, 8, 16, 21]
a.map(&:to_s)
# => ["1", "6", "8", "16", "21"]

此处a中的每个元素都映射to_s方法,该方法返回数字的字符串表示形式。

答案 1 :(得分:5)

您想将数字转换为字符串吗?然后试试这个:

[1, 6, 8, 16, 21].map(&:to_s)

或完整表格

[1, 6, 8, 16, 21].map{|i| i.to_s }

答案 2 :(得分:5)

您可以在示例中尝试使用字符串插值。您只需将变量放在字符串中的#{}中,并加上双引号:"#{ variable }"

[1, 6, 8, 16, 21].collect {|x| "#{x}" } # "x" will just return string "x"