塩焼きブログ

塩焼きに関しての研究内容を公開しています

Rubyをコマンドラインから実行し外部から引数を受け取る

コマンドラインから引数を受け取るにはARGVを使う。まずこのようなファイルを作成して保存する。

# p_argb.rb
p ARGV

コンソールを開いてこのように引数を書いて実行すると受け取れていることを確認できる

ruby a_argb.rb "hello world" to 1000 times
["hello world", "to", "1000", "times"]

ポイントとして"で囲んだ文字列にはスペースが入ってもひとつの文字列として認識しているが、他のスペース区切りの文字列は別々の文字列として渡されている。 また、数値に関しても"で囲んでいなくても文字列として渡されている。したがって、数値を使った処理を行うプログラムを作成する時はこのようにARGVから受け取った後でstr.to_iを使って数値に変換すること。

# go_argv.rb
num = ARGV[0].to_i
while num > 1
  puts num -= 1
  sleep(1)
end
puts "Go"