Rubyでコマンドライン引数を取得する方法:ARGV

Rubyのプログラムを実行するときにコマンドライン引数を取得する方法を紹介します。

コマンドライン引数

プログラム内のコマンドライン引数は以下の変数に代入されます。

  • $0:コマンド名
  • ARGV[引数番号]:コマンドに渡した引数名

これらをプログラム中で参照することができます。

コマンドライン引数を参照する

以下のプログラムをsample.rbというファイル名で保存します。

puts "$0:#{$0}"
ARGV.each_with_index do |arg, i|
    puts "ARGV[#{i}]:#{arg}"
end

上のプログラムは実行したプログラムのファイル名とコマンドライン引数を出力するものです。

以下のコマンドを実行するとファイル名とコマンドライン引数が表示されます。

$ ruby sample.rb hoge piyo
$0:test.rb
ARGV[0]:hoge
ARGV[1]:piyo

コマンドライン引数のファイルを読み込む

以下のプログラムはコマンドライン引数で渡されたファイルを読み込んで表示するプログラムです。

f = open(ARGV[0])
while line = f.gets
  print line
end
f.close

下の例ではコマンドライン引数にプログラムファイル自体を渡しています。

$ ruby sample.rb sample.rb 
f = open(ARGV[0])
while line = f.gets
  print line
end

イベント

2017/10/06(金)
UX School(全10回)