2

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

我努力了:

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

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

4

3 回答 3

6

我想你不明白这些引号是什么意思。您真正想要的是获取一个整数数组并将其转换为字符串数组。

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

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

于 2013-03-25T19:11:48.870 回答
5

你想把数字变成字符串吗?那么试试这个:

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

或完整的表格

[1, 6, 8, 16, 21].map{|i| i.to_s }
于 2013-03-25T19:11:15.653 回答
5

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

[1, 6, 8, 16, 21].collect {|x| "#{x}" } # "x" will just return string "x"
于 2013-03-25T19:15:08.027 回答