上野の人生奮闘生活‼︎

日々のプログラミング学習や日常生活について語ります

optparseを使ってコマンドオプションをカスタマイズしてみました!

optparseを使ってコマンドオプションをカスタマイズしてみました!

実はコマンドラインのオプションはカスタマイズすることができるんです!!

それではその方法とは!?

Rubyの標準ライブラリであるOptparseを使って、

コマンドラインオプションをカスタマイズする方法についてご紹介します!

まず、Optparseとは何かというと、Rubyの標準ライブラリの一つで、

コマンドラインからの引数を解析し、オプションを設定することができるものです

コマンドラインツールを作る際には非常に役立つライブラリで、

引数の型チェックやエラーメッセージの生成など、複雑なオプション処理を簡単に行うことができます!

例としてこちらのコードを使います

require 'optparse'

options = {}
OptionParser.new do |opts|
  opts.banner = "Usage: add_add.rb [options]"

  opts.on("-a", "--addend INTEGER", Integer) do |a|
    options[:a] = a
  end

  opts.on("-b", "--addend INTEGER", Integer) do |b|
    options[:b] = b
  end

  opts.on("-h") do
    puts opts
    exit
  end
end.parse!

sum = options[:a] + options[:b]
puts "足し算#{options[:a]} + #{options[:b]} = #{sum}です"

この例では、 -a と -b オプションを定義しています。

INTEGER は期待する値のタイプを示しています。ここでは、

これらのオプションが整数の値を必要とすることを示しています。

また、ヘルプオプション -h も定義しています。

これは、ユーザーがコマンドラインで -h オプションを指定すると、

オプションのリストとその説明を表示する役割を果たします。

最後に、定義したオプションを使って計算を行い、結果を出力します。

ruby add_app.rb -a 1000 -b 100と記述したら

optionsのハッシュの中には

options = {a: 1000, b: 100}があります。

puts "足し算#{options[:a]} + #{options[:b]} = #{sum}です"

これらが、足し算1000 + 100 = 1100ですなっていたら成功です!

今回は短いですがお疲れ様でした!!