-1

というメソッドを定義しようとしていますfunction。これを行うと機能します:

a = A.new

def a.function
   puts 100
end

しかし、私はメソッドがだけでなく、任意のインスタンス変数に対して機能することを望んでいますa。たとえば、以外functionのインスタンスを呼び出すと、何も起こりません。そのため、 ではなく関数を定義していました。AaA::fa.function

class A
    attr_accessor :function
    attr_accessor :var
end

def A::function
    self.var = 0x123
end

a = A.new
a.function

puts a.var

これは正常にコンパイルされますが、関数を呼び出そうとするとエラーが発生します。なぜ機能しないのですか?どうすれば私が試みていることを実行できますか?

4

3 に答える 3