オブジェクトとはRubyは、オブジェクト指向スクリプト言語です。この「オブジェクト」 の概念が分からず、敬遠されてしまう場合がしばしばありますが、 実はオブジェクトは人間にとって、理解しやすいある「もの」です。 オブジェクトとメソッドオブジェクト指向言語にとってオブジェクトとは、「機能を持ったもの」です。 例えば、車はボディ、シャーシ、エンジンなどさまざまな部品で構成されています。 さらに、ボディは運転装置、内装、照明などで構成されています。 つまり、車というオブジェクトは複合オブジェクトであり、車を構成する部品自体も、より小さな部品で構成される複合オブジェクトであると考えることができます。 例えば「ハンドル」の機能を使用したい場合は、「車.ハンドル」というように.(ドット) を使用します。通常、Rubyでは「オブジェクト.メソッド」というように記述します。 メソッドとは、オブジェクトに対して機能という意味を持ちます。つまり、「車.ハンドル」 とした場合は、方向転換の機能を指すことになります。 使用例
厄介な点オブジェクトは機能を含む概念なので、それを直接見ることはできません。 それでは不便なため、オブジェクトのおおよその内容を工夫して見せてくれる標準出力関数 p() というものがRubyにはあります。
"Hello, world" puts とは微妙に表示が異なっているのが分かります。 puts とは全く違う表示の場合もあります。今後オブジェクトの内容を調べる時は、このp()を使用します。 変数とオブジェクト上記の例では、"Hello, world" のような文字列オブジェクトをスクリプトに直接書き込んでいましたが、これをスクリプト中の複数の箇所で使用したい場合、そのたびに"Hello, world" と書くのは面倒です。そこで、オブジェクトに名前を付けてやれば、その名前を呼ぶことでオブジェクトを利用することができる。オブジェクトに付ける名前、正確には変数と言います。 オブジェクトに名前を付けるには、 変数 = オブジェクト という形式で行い、俗に言う代入です。下記に"Hello, world" というオブジェクトを strTemp という変数に代入し、使用する例です。
その他の例1Rubyの変数には、文字列・数値、その他何でも同じように代入することができます。 例えば、以下のような例の場合でも正しく期待通りの値が表示されます。
その他の例2Rubyで言う変数とは、オブジェクトを指すポインタ(矢)の様なものである。 例えば、下記のような場合は2個の変数(ポインタ)が同じオブジェクトを指している事になる。
|