class Nmax1000::Nmax
Public Class Methods
new(amount_of_max_numbers)
click to toggle source
# File lib/nmax1000.rb, line 6 def initialize(amount_of_max_numbers) exit 1 if amount_of_max_numbers < 0 @amount_of_max_numbers = amount_of_max_numbers @max_numbers = [] @input = $stdin result end
Public Instance Methods
add_number_to_array(num)
click to toggle source
# File lib/nmax1000.rb, line 43 def add_number_to_array(num) @max_numbers << num.to_i if @max_numbers.empty? if @max_numbers.size == @amount_of_max_numbers if @max_numbers.first < num.to_i @max_numbers.shift @max_numbers.unshift(num.to_i) end else @max_numbers << num.to_i end end
print_result()
click to toggle source
# File lib/nmax1000.rb, line 56 def print_result pp @max_numbers end
read_number()
click to toggle source
# File lib/nmax1000.rb, line 29 def read_number number_string = '' char = @input.getc until /[^\d-]/.match? char next if char.nil? number_string += char break if @input.eof char = @input.getc end number_string end
result()
click to toggle source
# File lib/nmax1000.rb, line 14 def result loop do num = read_number next if num.empty? add_number_to_array(num) @max_numbers.sort!.uniq! break if @input.eof end print_result exit 0 end