• ベストアンサー
※ 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を呼び出すことはできないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

クラス Foo の中で attr_reader :foo した際にメソッド foo() が定義されます。 その後 Foo の中で foo と言えば Foo.foo() です。 最初に定義した、大文字にするバージョンの foo は Kernel.foo() として明示的に呼び出すしかないでしょう。

kingfruits
質問者

お礼

ご回答ありがとうございます。 >クラス Foo の中で attr_reader :foo した際にメソッド foo() が定義されます。 ローカル変数の@fooだけでなくメソッドfooも定義だということを失念してました。 おかげさまでスッキリしました。

関連するQ&A