-1

我有一个方法,说

def method1
  method2
end

这将调用另一种方法,比如说

def method2
  @variable
end

如何在不传递任何参数的情况下从 method1 为这个 @variable 赋值?可能吗?

4

1 回答 1

2

由于它是一个实例变量,是的,它是可能的:

class Foo
  def method1
    b = Baz.new
    b.variable = 'bar'
    b.method2
  end
end

class Baz
  attr_accessor :variable

  def method2
    @variable
  end
end

f = Foo.new
f.method1 # => "bar"
于 2012-08-29T07:52:27.217 回答