ARGV・コマンドラインでの引数入力

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

ARGV配列を用いることで、コマンドラインから引数オプションを指定して、スクリプトファイルを実行してやることが可能です。
ARGVは、配列となっており、指定された引数のうち、1番目の引数が、ARGV[0]に、2番目がARGV[1]に、順次ARGV[2], ARGV[3]・・・と続きます。
以下のスクリプトを、sum.rbという名前で作成します。

スポンサーリンク

sum.rb

def sum(a, b, c)
    result = a + b + c
    return result
end
 
puts(sum(ARGV[0], ARGV[1], ARGV[2]))
puts(sum(ARGV[0].to_i, ARGV[1].to_i, ARGV[2].to_i))

「def sum()」は、3つの数字を受け取り、それらの和を求めるメソッドです。
そして、ARGV[0], ARGV[1], ARGV[2] と3つのコマンドライン引数を受け取って、sum()メソッドを呼び出しています。

コマンドラインから・・・

ruby sum.rb 32 45 8

と、3つの数字をスペースで区切って指定して、スクリプトファイル「sum.rb」を実行します。
すると・・・実行結果。

32458
85

ARGV配列で、引数から取得したデータは文字列となっていますので、ただ単に、「sum(ARGV[0], ARGV[1], ARGV[2])」とメソッドを呼び出すと、文字列として連結されます。
ゆえに実行結果の1行目では、「32458」と、3つの数字がただ連結されて返されます。

数値に変換するには、「ARGV[0].to_i」と、to_iメソッドを用います。
このメソッドを使ってメソッドを呼び出すと、2行目の結果、3つの数字の和である「85」が得られます。

スポンサーリンク
 
スポンサーリンク