hiyoko-programingの日記

プログラミングを勉強したてのひよっ子。   エンジニア目指して勉強中。

変数と式展開

変数を使う

変数は入れ物としての役割の他にオブジェクトに名前をつけるという役割がある。
変数を定義するとその分ソースコードは長くなってしまうが、見やすくなるので積極的に使っていくべき

1
  puts 200 * 2 + 100 * 5

これは単なる計算のプログラムだが、今のままでは何を計算しているかはわからない。しかし変数を使うことでこのプログラムに意味を与えることが出来る。

1
2
3
4
  orange_price = 200
  apple_price = 100

  puts orange_price * 2 + apple_price * 5

これでこのプログラムは「200円のオレンジを2個、100円のりんごを5個買ったときの合計金額を表示する」プログラムということがわかる。一度、変数に値を入れるという手間はかかるが、プログラムが非常に見やすくなる。

さらに以下のようなときにも変数はとても便利。

1
2
3
4
5
6
7
8
  orange_price = 200
  apple_price = 100

  puts orange_price * 2 + apple_price * 5

  puts orange_price * 4

  puts orange_price * 3 + apple_price

プログラム中で何度も同じ値を使っている。こういう場合は変数に入れたほうがいい。なぜならオレンジの価格が値上がりした場合、変数に代入している部分orange_price = 200を書き換えるだけで済むから

1
2
3
4
5
6
7
8
  orange_price = 220 # ここを書き換えるだけで済む
  apple_price = 100

  puts orange_price * 2 + apple_price * 5

  puts orange_price * 4

  puts orange_price * 3 + apple_price

 

要点チェック

 

式展開を使う

文字列の連結には文字同士の連結はRuby式展開を使えばより綺麗に書ける。
式展開は文字列の中にを入れることができる機能。

 式

Rubyにおける「式」とは文字列や数値の他に、変数やメソッド呼び出し、演算子式などが含まれる。
すなわち"文字列", 1000, (1 + 5)などはすべて式になる。

 式展開

文字列の中で式を使い、式によって得られる値を入れることのできる機能。式展開の書き方は文字列中で#{式}とするだけです。

1
  "#{}"

 式展開をする場合は文字列を作るときに"(ダブルクォテーション)で囲む必要がある。'(シングルクォテーション)で囲んだ場合は式展開が行われない。

sample.rb
1
2
3
4
5
6
7
8
  name = "佐藤"

  puts "わたしの名前は#{name}です。"
  puts "1と3を足した値は#{(1 + 3)}です"

  # シングルクォテーション
  puts 'わたしの名前は#{name}です。'
  puts '1と3を足した値は#{(1 + 3)}です'

式展開によって、ダブルクォテーションで囲んだ3行目と4行目は「わたしの名前は佐藤です」、「1と3を足した値は4です」となる。また、'(シングルクォテーション)で囲んだ場合は式展開されない


ダブルクォテーションで囲んだ場合

ターミナル
1
2
わたしの名前は佐藤です
1と3を足した値は4です

シングルクォテーションで囲んだ場合

ターミナル
1
2
わたしの名前は#{name}です
1と3を足した値は#{(1 + 3)}です

 

要点チェック