はじめに
現在、オリジナルアプリの実装中にインスタンス変数とローカル変数についての理解が飛躍的に深まったのでメモ。
インスタンス変数、ローカル変数って一体どういう時に使い分けるの??
といった方がこの記事を見て頂いてスッキリしてくれたら幸いです。
目次
1.インスタンス変数
とは
2. ローカル変数
とは
1. インスタンス変数
とは
インスタンス変数
def new
@birthday = Birthday.new #インスタンス変数@birthdayをここで定義している
end
上記に記述している @birthdayというのがインスタンス変数。
-
@birthdayとインスタンス変数を定義することにより
-
viewファイルにもデータの受け渡しが可能になる
-
コントローラーにおいては、アクションとプライベートメソッドとの間で値の受け渡しが可能になる
↓
コントローラーでは一回のリクエストごとに一つのアクションが呼ばれるので、newで定義したインスタンス変数はcreateで利用できない
-
2. ローカル変数
とは
ローカル変数
def new
birthday = Birthday.new #ローカル変数birthdayをここで定義している
end
ローカル変数はこのdefメソッド内でしか使えない。 メソッド内で完結する場合はローカル変数の定義で正常に動く