Rubyを使ってみよう! (4/4)
作成:2012-08-13 10:06
更新:2012-08-13 10:06
更新:2012-08-13 10:06
■値を扱うときの基本
値をコマンドプロンプトに表示させたい時は、「puts」というものを使います。これは、
これは、「メソッド」と呼ばれるものなのです。メソッドというのは、「オブジェクト」というものの中にある、そのオブジェクトをあれこれ操作するための処理をまとめたものです。このメソッドは、「オブジェクト.メソッド」というように、オブジェクトというものの後にドットを付け、その後に実行するメソッドの名前を書いてやります。
ここで使ったto_sは、「オブジェクトの値をテキストとして取り出す」という働きをするメソッドです。つまり、result.to_sで、resultの値(これは整数です)をテキストとして取り出していたのです。
+記号などを使って計算をする場合、考えないといけないのは「計算に使う値の種類」です。例えばテキストをつなげる+記号の場合、2つの値がいずれもテキストでないといけません。片方がテキストで片方は数字、なんてのはダメなんです。そこで、to_sを使ってテキストの値に揃えていたのですね。
……でも、ちょっと待てよ。resultって、整数ですよね? つまり、数字ですね。なのに「メソッド」というのを呼び出している。メソッドってオブジェクトというものの中にあるもののはず。なんで? そう思った人もいるでしょう。
実は、Rubyでは、すべての値は「オブジェクト」として扱われるのです。つまり、数字もオブジェクトなんです。ですから1も2も3も、全部その中に数字を操作するメソッドというものがいろいろとつまっているのです。不思議な感じがしますが、そうなのです。
このオブジェクトというものが、Rubyを使う上での「キモ」となるものなんです。これから次第にオブジェクトというものがどういうものか説明していきますが、ひとまずは「オブジェクトは、あることに関する値や機能がひとまとめになった小さいプログラムのかたまり」をイメージしておいてください。例えば「1」という数字は、「1という整数の値を表したり利用したりするために必要なデータや機能がひとまとめになったオブジェクト」なのだ、と考えるとよいでしょう。
オブジェクトについては今すぐ理解する必要はありません。とりあえずは「そういうもんがあるらしい」ということで。
puts( 表示する値 )こんな具合に、後の()の中に表示する値を記述してやります。()に用意するのは、数字でもテキストでもかまいません。これでその値が表示され、改行されます。
●「to_s」ってなんだ?
さて、このputsを実行しているところをもう一度よく見てみましょう。こうなっていますね。puts("答え:" + result.to_s)"答え:"というテキストの値の後に+記号を付けて変数resultをつなげています。こうして、2つの値を1つながりにして表示していたのですね。が、よくみると、resultの後に「.to_s」というものがついています。これはなんでしょうか。
これは、「メソッド」と呼ばれるものなのです。メソッドというのは、「オブジェクト」というものの中にある、そのオブジェクトをあれこれ操作するための処理をまとめたものです。このメソッドは、「オブジェクト.メソッド」というように、オブジェクトというものの後にドットを付け、その後に実行するメソッドの名前を書いてやります。
ここで使ったto_sは、「オブジェクトの値をテキストとして取り出す」という働きをするメソッドです。つまり、result.to_sで、resultの値(これは整数です)をテキストとして取り出していたのです。
+記号などを使って計算をする場合、考えないといけないのは「計算に使う値の種類」です。例えばテキストをつなげる+記号の場合、2つの値がいずれもテキストでないといけません。片方がテキストで片方は数字、なんてのはダメなんです。そこで、to_sを使ってテキストの値に揃えていたのですね。
……でも、ちょっと待てよ。resultって、整数ですよね? つまり、数字ですね。なのに「メソッド」というのを呼び出している。メソッドってオブジェクトというものの中にあるもののはず。なんで? そう思った人もいるでしょう。
実は、Rubyでは、すべての値は「オブジェクト」として扱われるのです。つまり、数字もオブジェクトなんです。ですから1も2も3も、全部その中に数字を操作するメソッドというものがいろいろとつまっているのです。不思議な感じがしますが、そうなのです。
このオブジェクトというものが、Rubyを使う上での「キモ」となるものなんです。これから次第にオブジェクトというものがどういうものか説明していきますが、ひとまずは「オブジェクトは、あることに関する値や機能がひとまとめになった小さいプログラムのかたまり」をイメージしておいてください。例えば「1」という数字は、「1という整数の値を表したり利用したりするために必要なデータや機能がひとまとめになったオブジェクト」なのだ、と考えるとよいでしょう。
オブジェクトについては今すぐ理解する必要はありません。とりあえずは「そういうもんがあるらしい」ということで。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
a = 10 b = 20 c = 30 result = (a + b) * c puts("答え:" + result.to_s)
※関連コンテンツ