【ノミでもわかる】Ruby インスタンス変数の使い方

f:id:babashun1024:20170628182858p:plain

今回はRubyのインスタンス変数について見てきます。

 

インスタンス変数は初心者にとっては混乱しやすい概念なので、きっちり覚えておくようにしましょう。

 

インスタンス変数とは

インスタンス変数は、「スコープがインスタンス内」の変数のことです。

そのため、インスタンスの外からアクセスしようとすると、エラーが発生します。

 

また、インスタンスごとに値がそれぞれ独立し、インスタンス毎で違う数値を持つことができます。

インスタンス変数を使ってみる

それでは実際にインスタンス変数を使用してみましょう。

 

Userオブジェクトからインスタンスを作成し、その中のインスタンス変数を参照してみましょう。

 

今回はsetNameというメソッドで値をセットし、dispNameというメソッドで値を取得していきます。

このように、インスタンス内から参照できていることがわかります。

 

以下のようにインスタンスの外から参照しようとするとどうなるか見てみましょう。

結果は何も表示されません。

インスタンス外からuserインスタンス内の@nameできないため

新しい変数として@nameが認識されました。

 

このようにインスタンス変数はインスタンスからしかアクセスできないということを覚えておきましょう。

まとめ

今回はインスタンス変数の使い方についてまとめていきました。

 

インスタンス変数はインスタンス内で独立した変数のため、オブジェクト志向ではよく使用される変数です。

 

しっかりと覚えるようにしましょう。