как получить несколько последних чисел элемента в массиве?

#ruby

#ruby

Вопрос:

массив = [13845, 23424, 89021, 83628]

Как бы я вернул 2 последних числа каждого элемента?

ожидаемый результат: 45 24 21 28

Я пробовал array[i].to_s.last(2), но я получил сообщение об ошибке: «неопределенный метод `last’ для «13845»:String»

Ответ №1:

Просто используйте array.map в Ruby. String::last не является стандартным Ruby и частью Rails ActiveSupport.

 array.map { |e| e % 100 }
  

Комментарии:

1. Не работает с отрицательными числами. Может abs быть первым.

Ответ №2:

array.map { |i| i.to_s[-2..-1] } сделает это в Ruby, отличном от Rails, но обработка элементов в виде чисел в CherryDT более чистая.

РЕДАКТИРОВАТЬ: Похоже, что ответ CherryDT был удален, но Армин Примади делает то же самое, и это лучший ответ. Я предлагаю это только из-за вашей попытки использовать .to_s .