这是我的数组[1, 6, 8, 16, 21]
。我希望它是["1", "6", "8", "16", "21"]
我试过了:
[1, 6, 8, 16, 21].collect {|x| "x" }
=> ["x", "x", "x", "x", "x"]
正在使用收集正确的方式吗?如何格式化collect函数以获取我的值周围的引号?
答案 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"