Method: MaxAmount::Seeker#search
- Defined in:
- lib/max_amount/seeker.rb
#search ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/max_amount/seeker.rb', line 28 def search # берем из строки только целые неотрицательные числа numbers = input_data.scan(/\d+/).select do |num| num.to_i.is_a?(Integer) && num.to_i.positive? end.map(&:to_i).uniq # длина каждого числа не может превышать заданную величину "MAX_SIZE_DIGITAL" numbers.each { |num| raise InvalidDigitInput if number_length(num.to_i) > MAX_SIZE_DIGITAL } # числа должны быть raise NotContainZero if numbers.size.zero? numbers.sort!.reverse! # вывод наибольших целых чисел в количестве "count_numbers" штук numbers[0..count_numbers - 1] end |