Преобразовать массив целых чисел в массив строк в Ruby? - PullRequest
60 голосов
/ 23 апреля 2009

У меня есть массив:

int_array = [11,12]

Мне нужно конвертировать в

str_array = ['11','12']

Я новичок в этой технологии

Ответы [ 6 ]

117 голосов
/ 23 апреля 2009
str_array = int_array.map(&:to_s)
45 голосов
/ 23 апреля 2009
str_array = int_array.collect{|i| i.to_s}
17 голосов
/ 14 апреля 2016

array.map (&: to_s) => массив целых чисел в массив строк

array.map (&: to_i) => массив строк в массив целых чисел

17 голосов
/ 09 июля 2013

Функции картирования и сбора будут работать здесь одинаково.

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)
4 голосов
/ 23 апреля 2009

Запуск 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"]

Ваша проблема, вероятно, где-то еще. Возможно беспорядок объема?

0 голосов
/ 16 февраля 2011

Возвращает 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"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...