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

64 ruby

我有一个数组:

int_array = [11,12]
Run Code Online (Sandbox Code Playgroud)

我需要把它转换成

str_array = ['11','12']
Run Code Online (Sandbox Code Playgroud)

我是这项技术的新手

gtd*_*gtd 124

str_array = int_array.map(&:to_s)
Run Code Online (Sandbox Code Playgroud)

  • @ user1658296这是一个ruby成语(内置于Ruby 1.9,或者在Rails中为<1.8),它扩展为以下形式的块:{| el | el.send(:to_s)} (3认同)

nur*_*ion 45

str_array = int_array.collect{|i| i.to_s}
Run Code Online (Sandbox Code Playgroud)

  • 以这种方式写入更短:`str_array = int_array.map(&:to_s)`_"&:"_表示在数组的每个元素上调用"to_s"方法.和"map"是"收集"的缩写同义词 (7认同)

Rah*_*tel 20

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

array.map(&:to_i) =>将字符串数组转换为整数数组


Ida*_*der 17

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

int_array = [1, 2, 3]

str_array = int_array.map { |i| i.to_s }
=> str_array = ['1', '2', '3']
Run Code Online (Sandbox Code Playgroud)

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

array = [1, 2, 3]
array.map! { |i| i.to_s }
Run Code Online (Sandbox Code Playgroud)

你可以使用一个非常酷的快捷方式:(/sf/answers/137278291/)

array = [1, 2, 3]
array.map!(&:to_s)
Run Code Online (Sandbox Code Playgroud)