1
別のクラスのオブジェクトを作成するメソッドを呼び出そうとしています。私がすると、オブジェクトが作成されたというフィードバックが得られますが、そのオブジェクトでは何もしないように見えます(オブジェクトクラスからメソッドを呼び出すなど)。次に例を示します。クラスメソッド内で異なるクラスのオブジェクトを作成する
class A
def initialize
end
def generate
var = B.new
end
end
class B
def initialize
end
def declare
puts "I exist!"
end
end
test = A.new
test.generate
var.declare
これは、「未定義のローカル変数またはメソッド 'var'」エラーを返します。私はこれについて間違っていますか?私が知ることができる最高ののは、インスタンス内でのみこのオブジェクトを作成しているということですが、インスタンスでインスタンスを処理しようとしても、定義されていません。これを行う別の方法は私が考えていない、または私はこれを間違っているのですか?ありがとう!
変数 'var'のスコープは、' generate'メソッドに限られているようです。それをインスタンス変数にします。 – Sid