コマンドライン引数の配列ARGVについて

Rubyにあらかじめ組み込まれている定数であるARGVに関して先ほど調べたので、忘れないうちにエントリにまとめておこうと思います。

ARGVは配列なので、取り出して変数に代入することも可能でですが、引数から取得したデータは文字列になっているので、これを計算などに使う場合には数値型に変換する必要があります。

$ruby hoge.rb 1

p ARGV[0]

結果は "1" となります。

$ruby hoge.rb 1

p ARGV[0].to_i

結果は 1 となります。

というふうにto_iメソッドを使うと、数値に変換されて扱うことが出来ます。

また、コマンドライン引数に何も指定しなかった場合、nilが返ってきます。

$ruby hoge.rb piyo
  if  ARGV[0] == "piyo"
    puts ARGV[0]
  elsif ARGV[0] == nil then
   ExitStatus = 0
   exit(ExitStatus)
  end


piyoが引数だった場合、piyoが出力され、何も引数を取らなかった場合、プログラムが終了します。