コマンドライン引数の配列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が出力され、何も引数を取らなかった場合、プログラムが終了します。