0
0

More than 3 years have passed since last update.

個人メモ Progate Ruby Ⅰ(2)

Last updated at Posted at 2020-06-12

6.変数の基本

・変数…値を入れておく箱のようなもの。
変数は「変数名=値」で定義する。

animal = "あざらし"
↳変数名  ↳代入する値

[注意]

・プログラミングの「=」
⇒「等しい」という意味ではない。

・では、プログラミングの「=」は何か?
⇒「左の変数に右の値を入れる」と言う意味。
この流れを「代入」と言う。

index.rb                    置き換えのイメージ

animal = "あざらし"      →  animal =  "あざらし" 
puts animal              →  puts "あざらし" 
     ↳変数animalが値("あざらし")に置き換わる
>_コンソール
あざらし    

[注意]

animal="あざらし"                    >_コンソール

*1.puts  animal                       あざらし
*2.puts "animal"                      animal

変数は*2のようにダブルクォーテーションで囲むと
文字列として認識されるため変数として扱う場合は囲まない。

7.変数を使ってみよう

プログラムは上から順に実行されていく

⇒変数を使う場合は必ず変数名を定義する。

●文字列の入った変数

・変数を呼び出すと代入した値に「置き換わる」
・文字列が入った変数は文字列と同じように扱える

message ="私が"           
puts message + "あざらしだぞ" 
animal = "カワウソです"

puts message + animal
>_コンソール

私があざらしだぞ
私がカワウソです

●数値の入った変数

    number1 = 20                        
 puts number1 + 3                             
     number2 = 15                                  
 puts number1 + number2 
>_コンソール

23
38

8.変数の役割と注意点

●なぜ変数を使うのか?
・プログラムの中には多くの値が存在する。
・プログラムを書く際に正確性や柔軟性が求められる。
⇒この2点を解決する仕組みの1つが変数。

●変数の役割
⇒同じ要素を繰り返し使える
⇒変更に対応しやすい
⇒何の要素か分かりやすい

・変数を使用しない場合

index.rb

puts "私がゴマフアザラシです"
puts "私がアゴヒゲアザラシです"
puts "私がタテゴトアザラシです"
puts "私がバイカルアザラシです"

「私が」の部分を「実は私」に置き換える場合、
三箇所全て変更しなければならない。

・変数を使用する場合

index.rb

text = "実は私"
puts = text + "ゴマフアザラシです" 
puts = text + "アゴヒゲアザラシです"
puts = text + "タテゴトアザラシです"
puts = text + "バイカルアザラシです"

「私が」の部分を「実は私」に置き換えるなら代入する
文字列を変更するだけで良い。

●分かりやすい変数名
⇒変数には何の値が代入されているか
判断できる変数名をつける

○ animal = "あざらし"
×   I am = "あざらし"

●変数名のルール
⇒Rubyにはいくつかの命名ルールがある。
*基本は自由。

[注意]
2語以上を組み合わせた変数名を付けるときは、
アンダーバー(_)を用いること。

Ex. Spotted_seal など。

*以下は悪い例
・1seal     × 数時開始
・zarashi   △ ローマ字
・あざらし  △ 日本語

9.変数の更新(1)

●変数の値を変更する

変数は、一度代入した値を変更することができる。
⇒一度値を代入した変数にその後再び値を代入すると、
 中身が上書きされる。

 index.rb        >_コンソール       
 number = 1                 
 puts number             1
 number = 7
 puts number             7
                         ⇖上書きされた変数の値が出力される。

⇒プログラムは上から順に実行されるため、中身が上書きされる。

10.変数の更新(2)

●自分自身に代入する

「既に定義されている変数numberの値に3を足したい」場合
どのようにすれば良いか?

回答:

                                  >_コンソール
number = 2
puts number                2

number = number + 3
puts number                            5

上のコードのようにnumberに3を足して、再びnumberに代入する。「=」の右側のnumberは値に置き換わり、計算された結果が左のnumberに代入される。

⇒自分自身に代入する場合も同様、プログラムは上から順に
実行されるため、中身が上書きされる。

応用(省略形)

基本形                          省略形
x = x + 7                      x += 7
x = x -  7                     x - = 7
x = x * 7                      x * = 7
x = x / 7                      x / = 7
x = x % 7                      x % = 7

11.変数展開

●変数展開

変数を文字列に含める

#{変数名}
⇒変数展開…変数の値を文字列の中に含める方法。

[注意]

ダブルクォテーションを使った
文字列の場合にしか変数展開されない。
⇒シングルクォテーションはNG

"" = 〇 
'' = ×
ex.カワウソの場合

animal = "カワウソ"
puts "こんにちは#{name}さん"

>_コンソール上

こんにちはカワウソさん

●変数展開のメリット:


index.rb(☆)

age = 25
puts age + "歳です"
   (数値) (文字列)
---------------------
>_コンソール上

×エラー発生!!

--------------------------------------------------------
index.rb(★)

age = 25
puts "#{age}歳です"

---------------------
>_コンソール上

25歳です

●変数展開

解説:
☆のように数値と文字列を
足し算で連結することはできない。
しかし、★のように変数展開を用いると
数値の入った変数も問題なく文字列に
含めることが可能。
⇒変数を文字列に含める場合は、
基本的に変数展開を使うようにすること。

0
0
0

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