Ответ 1
str_array = int_array.map(&:to_s)
У меня есть массив:
int_array = [11,12]
Мне нужно преобразовать его в
str_array = ['11','12']
Я новичок в этой технологии
str_array = int_array.map(&:to_s)
str_array = int_array.collect{|i| i.to_s}
отображать и собирать функции будут работать одинаково здесь.
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: (fooobar.com/questions/25304/...)
array = [1, 2, 3]
array.map!(&:to_s)
array.map(&: to_s) = > массив целых чисел в массив строк
array.map(&: to_i) = > массив строк в массив целых чисел
Запустить 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"]
Ваша проблема, вероятно, в другом месте. Возможно, путаница сферы?
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"]