Rubyでは全てのデータはオブジェクト(インスタンス)である。
そのため、個々のデータはそれぞれの性質を記述したクラスが
決まっている。あるデータのクラスを知りたい場合には、メソッド
「class」を用いるとクラスが返り値となる。例えば、整数
「1」のクラスを確かめるには、
1.class
と記述する。(この場合、「Fixnum」という整数を表すクラスの一種
が返り値となる。)
様々な定数のクラスを調べてみよ。もし、何らかの計算結果の値のクラスを
確かめたい場合は
(1 + 2).class
と括弧をつけると良い。例えば、次のような巾乗演算「**」の
結果を見てみよ。
(2 ** 8).class
(2 ** 128).class
求めたクラスがどのようなものかは書籍やRubyのリファレンスマニュアルを
参照せよ。
これまでは1行だけで単純な演算をするプログラムであったが、より複雑な処理を するためには複数行からなるプログラムを記述する。 その場合、irbでキーボードから逐一入力するよりはテキストエディタ を用いてプログラムを入力・編集し、ファイルに格納する。そのファイルの拡張子 は「.rb」とすること。
複数行からなるプログラムは基本的には第1行目から順に実行される(順次)。 その他に命令を書くことで、繰返し(反復)や条件に基づいた分岐を記述できる。 命令には様々なものがあるが典型的なものは、while ... endと if...endである。例えば、
if a == 0
p("a is zero")
else
p("a is not zero")
end
...
while a != 0
繰り返したい処理内容
end
のように記述する。次のプログラムを入力し、実行してみよ。
a = 0.0
while a < 1.0
p(a)
a = a + 0.1
end
次にこのプログラムの2行目を次のように書換えるとどうなるか試して見よ。次のプログラムはキーボードから1行ずつ入力し、その内容を そのまま画面に出力するものである。
while true
line = STDIN.readline
p(line)
if line =~ /end/
break
end
end
このプログラムは入力した文字列に「end」を含むと実行を
終了する。by Tetsuo Sakaguchi
2006年 12月22日 金曜日
15時09分26秒 JST