next up previous contents
Next: 5 制御構造 Up: algorism_out Previous: 3 Rubyに慣れる

Subsections


4 変数

教科書p.28

4.1 プログラム例

教科書を参照し、以下のプログラムを入力する。
#!/usr/bin/ruby

sum = 0
while true
  print "足したい数は(終了はq): "      <== 教科書と異なります。
  line = gets.chomp
  if line == "q" then
    break
  end
  sum += line.to_i
printf("これまでの合計は%dです\n",sum)
end
printf("%dです\n",sum)

キーボードから文字を入力し ``Enter''キーを押すと、改行コードも変数lineに 代入されてしまう。 変数や文字列の最後の改行コードを取り去るのに ``chomp''を最後に付けている。

4.2 数値と文字列

a,b と言う変数に数値を代入する。
#!/usr/bin/ruby
a = 18
b = 5
print  a + b ,"\n"
と書くと、計算結果が帰ってくる。 では、以下のように書くとどうなるか?
#!/usr/local/bin/ruby
a = "18"
b = "5"
print  a + b ,"\n"
全くおかしな値が帰ってきました。 さて、この違いは何でしょうか? "と" で囲った部分は、文字列を表す。 次の節で詳しく説明しますが、ある機能をもったものを ``オブジェクト''と言います。 上のプログラムの a = 18 では、a は 数値18を表すオブジェクトとなります。 その次のプラグラムの a = ``18'' では、a は文字を表すオブジェクトとなりま す。

では、その文字を表すオブジェクトを、数値に変換するにはどうするか?

#!/usr/bin/ruby
a = "18"
b = "5"
print  a + b ,"\n"
print a.to_i
print b.to_i
print a.to_i + b.to_i
このプログラムの ``.to_i''の部分が整数に変換している部分です。 文字列オブジェクトを数値オブジェクトに変換するメソッドを ``.to_i''と 言います。 型の変換については、セクション 6を参照して下さい。

4.3 真偽値

教科書参照(p.30)

"真偽値"とは 「条件が成り立つかどうか」を判断したもの。

 4>3     -->  true
 3>4     -->  false

以下のプログラムを入力し、確かめる。

---------------------------
print  3 > 4, "\n"
print  3 < 4 ,"\n"
--------------------------
どんな値が表示されるか?

4.4 変数

教科書参照(p.31)




平成22年12月28日