Sha256: 898a9fc67c8efee1f8fd125b44fe74a407150d2bbea521e542be8d4bc523340f

Contents?: true

Size: 1.59 KB

Versions: 11

Compression:

Stored size: 1.59 KB

Contents

# frozen_string_literal: true

module MaxAmount
  module Options
    def self.ask
      # Все наши опции будут записаны сюда
      options = {}

      # Заведем опции
      OptionParser.new do |opt|
        # Этот текст будет выводиться, когда программа запущена с опцией -h
        opt.banner = 'Чтение из входящего потока текстовых данных:'

        # Вывод в случае, если запросили help
        opt.on('--h', 'Справка') do
          puts opt
          exit
        end

        # Опция --n будет передавать n самых больших целых чисел, встречающихся
        # в текстовых данных
        opt.on('--n Nmax', 'n самых больших целых чисел ' \
                           '(n > 0)') { |o| options[:n] = o }

        # Опция --l передает, какую мы хотим задать длину строки
        opt.on('--l length', 'длина строки ') { |o| options[:l] = o }

        # Опция --m передает то, хотим ли мы выбрать тестовую строку - [1]
        # или случайно сгенерированную - [2]
        lines = 'тестовая строка (m=1) / случайно сгенерированная строка (m=2) / пользовательская строка (m=3)'
        opt.on('--m choice', lines) { |o| options[:m] = o }
      end.parse!

      options
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
max_amount-1.4.2 lib/max_amount/options.rb
max_amount-1.4.0 lib/max_amount/options.rb
max_amount-1.3.9 lib/max_amount/options.rb
max_amount-1.3.8 lib/max_amount/options.rb
max_amount-1.3.7 lib/max_amount/options.rb
max_amount-1.3.6 lib/max_amount/options.rb
max_amount-1.3.5 lib/max_amount/options.rb
max_amount-1.3.4 lib/max_amount/options.rb
max_amount-1.2.4 lib/max_amount/options.rb
max_amount-0.1.1 lib/max_amount/options.rb
max_amount-0.1.0 lib/max_amount/options.rb