####変数
値を入れる箱のようなもの
箱には名前をつけることができ、どんな値が入っているか簡単に識別できるようになる。この名前を変数名という
変数を作ることを変数の宣言という
宣言した変数にどのような値を入れるのか記述することを変数の定義という
####代入
変数の定義には、=を使って代入と呼ばれる記述がされる
Rubyにおいて=が1つの式は必ず『右側の値を左の変数に代入する』という意味
# piという変数の中身を、円周率の3.14159であると定義する
irb(main):001:0> pi = 3.14159
# piを呼び出すと、格納された3.14159が返ってくる
irb(main):002:0> pi
=> 3.14159
# 何度実行しても、格納された3.14159が返ってくる
irb(main):003:0> pi
=> 3.14159
####再代入
1度値を代入したあとの変数に、別の値を再び代入することもできる
プログラム中に何度でも変更可能であることも変数の特徴
# 変数に代入
irb(main):001:0> value = "Hello World"
=> "Hello World"
# 変数を出力
irb(main):002:0> value
=> "Hello World"
# 変数に再代入
irb(main):003:0> value = "See you"
=> "See you"
# 変数を出力
irb(main):004:0> value
=> "See you"
また、変数自身の値を利用した計算結果と入れ替えることができる
# 変数に代入
irb(main):001:0> number = 7
=> 7
# 変数に1を足す
irb(main):002:0> number = number + 1
=> 8
####自己代入演算子
自己代入とは、その名の通り自分自身に代入するということ
通常の演算子を用いた書き方を省略して記述できる
#通常の代入演算子
number = number + 1
#自己代入演算子
number += 1
自己代入演算子 | 例 | 処理 |
---|---|---|
+= | number += 1 | numberに1足した値をnumber自身に代入 |
-= | number -= 2 | numberから2引いた値をnumber自身に代入 |
*= | number *= 3 | numberに3かけた値をnumber自身に代入 |
/= | number /= 4 | numberを4で割った値をnumber自身に代入 |
変数の命名規則
名前は自由に決められるが、一定のルールがある
・変数の中身がわかる
・_(アンダーバーではじめない)
・数字ではじめない
・日本語を使わない
・スペースを含めない
・予約語(Rubyの文法などで予め決まっている単語)を使用しない
# 良い例
number = 100
dog = "ワンワン"
message_1000_AM = "午前10時ちょうどをお知らせします。"
# 悪い例
bad number = 777 # スペースが入っているので×
do = "ワンワン" # doは予約語として存在しているので×
1000_AM_message = "午前10時ちょうどをお知らせします" # 数字から始まっているので×
####なぜ変数を使うのか
1:値の意味がわかりやすくなる
変数が値に名札をつけるような役割となり、ソースコード内で値の意味がわかりやすくなる
2:値を再利用しやすくなる
プログラムの中で同じ値を何度も使う場合、その値を変数にして使うようにすれば、あとからその値を変える必要が生じた場合も変数に代入する箇所を変更するだけ済む
# 直径10の場合
irb(main):001:0> menseki = (10 / 2) * (10 / 2) * 3.14 # 面積
irb(main):002:0> ensyu = 10 * 3.14 # 円周
#変数を使って以下のように変更
# 直径10
irb(main):001:0> tyokkei = 10
# 面積
irb(main):002:0> menseki = (tyokkei / 2) * (tyokkei / 2) * 3.14
# 円周
irb(main):003:0> ensyu = tyokkei * 3.14