計算機はなんらかのデータを受け取って、それに対して加工や計算などをした 結果を吐き出す。動作中のプログラムの中では、 やりとりされるデータは全て値として存在している。
計算機の中で保持される値は大きく分けて数値
と文字列に分類される。数値は加減乗除算のできる値で、
文字列は文字が並んだ値である。Rubyでは文字列を
ダブルクォート(")か、シングルクォート(')で括って表記する。
例:
5 123 3.5 -2
"Hello" "123" "太郎" '1+1'
数値の 123 と、文字列の "123"
は
足し算の結果が異なる。
例:
123+123 → 246
"123"+"123" → "123123"
「ある条件が成り立つか否か」、を表す値のことを真偽値という。
「条件が成立する」 | → | true |
「条件が成立しない」 | → | false |
例:
true
となる条件式
5 > 3
2 < 9
false
となる条件式
5 < 3
2 > 9
プログラムは、それを実行するときの状況に応じて処理を切り替える。 後述する制御構造がそのための構文で、処理切り替えの判定規準に条件式を 書く。
なお、Rubyの場合「空っぽ」を意味する値として nil
がある。これも偽を意味する。
変数 とは「値」を入れる「箱」のようなもので、 計算機のメモリ内のどこかに確保される。ほとんどのプログラミング言語 で利用できる仕組みである。
変数には好きな名前が付けられる。数学の変数と違って
2文字以上の名前でもよい。ただし、使える文字は
英数字とアンダースコア(_
)に限られ、なおかつ
最初の文字は英小文字でなければならない。
Rubyの変数には次の5種類がある。
アルファベット小文字またはアンダースコア(_)で始まる。 定義したメソッドやブロック内でのみ有効。 普通に使う変数はこれ。
$ 記号で始まる変数。プログラムのどこからでも参照できる 変数。特別な理由がなければ使わない。
@@ で始まる変数。同一のクラスから発生したインスタンス 間で共通の値を持つ変数。そのうち使う。
@ で始まる変数。インスタンス内でのみ参照可能。 オブジェクト指向プログラミングをする際に必要。
アルファベット大文字で始まる。一度値を代入したら変えられない。 定数を保存する。
self, true, false, nil, __FILE__, __LINE__
最初から使えることになっている変数。
変数に値を入れることを代入という。
代入には =
を使う。変数には数値でも、文字列でも、
配列でも、Rubyで使えるものならどんな値でも入れてよい。
数値(10進数)はそのまま、文字列は
""
または、''
で括る。
x = 5
taiju = 50
name = "MOGAMI Taro"
12go = "Let's GO"
(変数名は数字で始められない)
x = 太郎
(文字列は引用符で括らなければならない)
代入は複数同時にできる。
x, y, z = 1, 2, 3
上記の例は、x=1、y=2、z=3になる。
変数に代入されている値を取り出すことを参照という。 変数をそのまま書けば参照できる。
x = 5 y = x + 3 ← xの値を参照し、5 + 3 が計算される。