- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Ruby インスタンス変数@fooを持つClass Fooの中ので関数fooを呼ぶ)
Rubyのインスタンス変数@fooを持つClass Fooの中で関数fooを呼ぶことはできるのか?
このQ&Aのポイント
- RubyのクラスFoo内でインスタンス変数@fooを定義していますが、関数fooを呼ぶことはできないのでしょうか?
- RubyのプログラムでClass Foo内にインスタンス変数@fooがあり、関数fooを呼び出したいと考えていますが、エラーが発生します。
- RubyのクラスFoo内でインスタンス変数@fooを使い、関数fooを呼び出すことはできないのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
クラス Foo の中で attr_reader :foo した際にメソッド foo() が定義されます。 その後 Foo の中で foo と言えば Foo.foo() です。 最初に定義した、大文字にするバージョンの foo は Kernel.foo() として明示的に呼び出すしかないでしょう。
お礼
ご回答ありがとうございます。 >クラス Foo の中で attr_reader :foo した際にメソッド foo() が定義されます。 ローカル変数の@fooだけでなくメソッドfooも定義だということを失念してました。 おかげさまでスッキリしました。