Logo Image

Blog Article

Ruby 基礎 ~ 変数の宣言や代入について ~

00

こんにちは。
最近Rubyの基礎を学習してるので、学習内容をまとめました。
なにか間違いがある場合、ご指摘いただければ幸いです。

変数とは?

まず、変数とは 値を一時的に保存しておく箱 のようなものです。変数に値を代入することで、その値を後から再利用したり、変更したりできます。

変数を使う理由
  • 値を再利用する:複数箇所で同じ値を使いたいときに便利。
  • コードの可読性を向上させる:値に名前をつけることで、コードの意味が明確になる。
  • 値を動的に変更する:変数に代入した値は後から変更可能。

変数の宣言と代入

変数の宣言

Rubyでは、変数を 宣言するだけ という概念はありません。変数は 値を代入することで自動的に宣言 されます。つまり、変数を使用する前に特別な宣言は不要です。

変数への代入

Rubyでは、 = 演算子を使って変数に値を代入します。

name = 'Ruby'  # 文字列を変数に代入
age = 25       # 数字を変数に代入

上記の例では、変数 name'Ruby' という文字列を代入し、age には 25 という数値を代入しています。これによって、それぞれの変数が値を保持するようになります。

変数の読み込み

変数に代入された値は、変数名を使って呼び出すことができます。

puts name  #=> Ruby
puts age   #=> 25

変数の命名規則

Rubyでは、変数の命名にはいくつかのルールがあります。

  • 変数名は 小文字アンダースコア (_) で始める必要があります。
  • 数字で始めることはできません
  • 複数の単語を組み合わせるときは、スネークケース (snake_case) を使うのが一般的です。

例:

first_name = 'John'
user_age = 30

これらのルールを守ることで、他の人が読んでもわかりやすいコードを記述できます。

変数の種類

Rubyにはいくつかの変数の種類があり、それぞれのスコープ (有効範囲)が異なります。

ローカル変数
  • 一般的に使用される変数。
  • 小文字 または アンダースコア で始まる。
  • 宣言された ブロックやメソッドの中でのみ 有効。
def greet
  greeting = 'Hello!'  # ローカル変数
  puts greeting
end

greet  #=> Hello!
puts greeting  #=> エラー(greeting はメソッドの外では使えない)
グローバル変数
  • $ で始まる。
  • プログラムのどこからでもアクセスできる。
$global_var = 'I am a global variable'
puts $global_var  #=> I am a global variable

ただし、グローバル変数はプログラム全体に影響を与えるため、 使用は最小限 にするべきです。

インスタンス変数
  • @ で始まる。
  • オブジェクトのインスタンスに関連付けられた変数。
class Person
  def initialize(name)
    @name = name  # インスタンス変数
  end

  def greet
    puts "Hello, my name is #{@name}."
  end
end

person = Person.new('John')
person.greet  #=> Hello, my name is John.
クラス変数
  • @@ で始まる。
  • クラス全体で共有される変数。
class Person
  @@species = 'Homo sapiens'  # クラス変数

  def self.species
    @@species
  end
end

puts Person.species  #=> Homo sapiens

変数の再代入

Rubyでは、変数に一度代入した値を 再代入 することができます。

age = 25
age = 30  # 再代入
puts age  #=> 30

この例では、最初に age25 を代入し、後から 30 を再代入しています。これにより、age の値は 30 に更新されます。

多重代入

Rubyでは、複数の変数に同時に値を代入することができます。これを 多重代入 と呼びます。

a, b, c = 1, 2, 3
puts a  #=> 1
puts b  #=> 2
puts c  #=> 3

一度に複数の変数に値を割り当てることで、コードをシンプルにすることができます。

配列を使った多重代入

多重代入は、配列の値を変数に展開するのにも使えます。

array = [4, 5, 6]
x, y, z = array
puts x  #=> 4
puts y  #=> 5
puts z  #=> 6

このように、配列の要素をそれぞれの変数に分けて代入することができます。