Преобразовать массив целых чисел в массив строк в Ruby?

311
55

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


int_array = [11,12]

Мне нужно преобразовать его в


str_array = ['11','12']

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

спросил(а) 2021-01-19T19:43:54+03:00 2 месяца, 3 недели назад
1
Решение
437

str_array = int_array.map(&:to_s)

ответил(а) 2021-01-19T19:43:54+03:00 2 месяца, 3 недели назад
285

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

ответил(а) 2021-01-19T19:43:54+03:00 2 месяца, 3 недели назад
173

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


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: (qaru.site/questions/25304/...)


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

ответил(а) 2021-01-19T19:43:54+03:00 2 месяца, 3 недели назад
144

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


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

ответил(а) 2021-01-19T19:43:54+03:00 2 месяца, 3 недели назад
97

Запустить 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"]

Ваша проблема, вероятно, в другом месте. Возможно, путаница сферы?

ответил(а) 2021-01-19T19:43:54+03:00 2 месяца, 3 недели назад
-6

Возвращает Int

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

Возвращает строку
y = 1,2,3,4,5 # => ["1", "2", "3", "4", "5"]

ответил(а) 2021-01-19T19:43:54+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема