LoginSignup
0
0

More than 3 years have passed since last update.

備忘録(Ruby:基礎文法:変数)

Posted at

変数

値を入れる箱のようなもの
箱には名前をつけることができ、どんな値が入っているか簡単に識別できるようになる。この名前を変数名という
変数を作ることを変数の宣言という
宣言した変数にどのような値を入れるのか記述することを変数の定義という

代入

変数の定義には、=を使って代入と呼ばれる記述がされる
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
0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0