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

はてなブックマークに追加はてなブックマーク Yahoo!ブックマークに登録 ニフティクリップに追加 Livedoor クリップに追加 BuzzurlにブックマークBuzzurlにブックマーク Twitterに投稿  

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」が得られます。


日時: 2008年06月22日 16:42
コメントを投稿






トラックバック

■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/321

この記事にトラックバックされる方は、参照先が分かるようにするために、「ARGV・コマンドラインでの引数入力」へのリンクをお願いいたします。
以下のHTMLタグをトラックバック送信元ページ内に挿入して下さい。



※この記事へのリンクがない、また関連のないページからのトラックバックは反映されませんので、ご了承下さい。






あわせて読みたいブログパーツ
フィードメーター - Ruby勉強ルーム