コマンドライン入力と method をあわせてみよう

ARGV 配列を使うと、プログラムを起動したのち、 ユーザが入力した値に基いて計算をするようなプログラムを作ることができる。 1 から任意の自然数まで足し算をするプログラムの実行風景は

./sumup.rb 100

となる。この場合は 100 を入力した場合が示されている。 sumup.rb

#!/usr/koeki/bin/ruby

if ARGV[0] == nil
  STDERR.puts("指定した値までの自然数を順に加え、総和を求めます。")
  STDERR.puts("例: ./sumup.rb 100  --- 1 から 100 までの総和を求める。")
  exit(1)
end

sum = 0
goal = ARGV[0].to_i	# ARGV にしまわれているものは文字列なので
                        # 整数変換が必要
goal.downto(1) do |number|
  sum += number
end

printf("1 から %d までの自然数の総和は %d です\n", goal, sum)

基礎プログラミング II / 2007 年度

Madoka Nishimura <madoka@e.koeki-u.ac.jp>