在Ruby中将整数数组转换为字符串数组?

时间:2009-04-23 09:57:37

标签: ruby

我有一个数组:

int_array = [11,12]

我需要将其转换为

str_array = ['11','12']

我是这项技术的新手

7 个答案:

答案 0 :(得分:117)

str_array = int_array.map(&:to_s)

答案 1 :(得分:45)

str_array = int_array.collect{|i| i.to_s}

答案 2 :(得分:17)

map和collect函数在这里的工作方式相同。

int_array = [1, 2, 3]

str_array = int_array.map { |i| i.to_s }
=> str_array = ['1', '2', '3']

你可以用一行来实现这个目标:

array = [1, 2, 3]
array.map! { |i| i.to_s }

你可以使用一个非常酷的快捷方式来处理proc:(https://stackoverflow.com/a/1961118/2257912

array = [1, 2, 3]
array.map!(&:to_s)

答案 3 :(得分:16)

array.map(&:to_s) =>整数数组到字符串数组

array.map(&:to_i) =>字符串数组成整数数组

答案 4 :(得分:4)

启动irb

irb(main):001:0> int_array = [11,12]
=> [11, 12]
irb(main):002:0> str_array = int_array.collect{|i| i.to_s}
=> ["11", "12"]

您的问题可能在其他地方。也许范围混乱?

答案 5 :(得分:0)

最短的选择

int_array.map!(&:to_s)

答案 6 :(得分:-3)

返回Int

x = [1,2,3,4,5,6,7,8,9,10] # => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

返回String

y = 1,2,3,4,5 # => ["1", "2", "3", "4", "5"]