我将如何遍历控制器中的每个实例变量“@anything”?我不想循环一个,我想将它们作为一个集合循环。理想情况下,仅限于我的控制器方法定义的那些。
问问题
2263 次
1 回答
2
您可以使用instance_variables
and instance_variable_get
,例如:
@foo = 'Foo'
@bar = 'Bar'
instance_variables # => [:@foo, :@bar]
instance_variables.map(&method(:instance_variable_get))
# => ['Foo, 'Bar']
理想情况下,仅限于我的控制器方法定义的那些。
实例变量的范围是实例,而不是方法。这就是为什么它们被称为实例变量。而且它们不是由方法定义的,事实上,它们根本没有定义:它们只是在第一次被分配时就出现了。
于 2012-10-18T16:25:11.407 回答