Rubyのトップレベルのインスタンス変数
トップレベルで定義されたインスタンス変数はmainオブジェクトに所属するのでしょうか。それとも、これは特別で何にも所属しないのでしょうか。
公式ドキュメント
公式のドキュメント(URL)には、> `@'で始まる変数はインスタンス変数であり、特定のオブジェクトに所属しています。インスタンス変数はそのクラスまたはサブクラスのメソッドから参照できます。初期化されていないインスタンス変数を参照した時の値はnilです。 との記載があったので気になって質問しました。
試したこと
Ruby
1@x = 'x' 2p @x 3#self.x
mainオブジェクトに所属しているとしたらゲッターメソッドが定義されているかもとか思って試してみたのですがエラーが返ってきました。
どこかのサイトで、**トップレベルはObjectクラスの中だという記載を見た記憶があるのですがこの点もお聞きしたいです。**トップレベルはトップレベルだと思っていたのですが実際はクラスの中なのかな?...と悩んでいます。
回答3件
あなたの回答
tips
プレビュー