【发布时间】:2013-05-23 08:18:26
【问题描述】:
我正在尝试为数组 (@controller) 中的每个实体编写单行块,这个单行块的目的是从控制器数组中产生 [n] 元素,n 是一个访问器,现在我想类似的东西:
def for_controller
controller = @controllers.first[n]
yield controller
end
不幸的是,我写的单个块不起作用,但下面的多行块在循环中完美地工作。
def for_all_controllers
@controllers.each do |controller|
yield controller
end
end
为了让问题更清楚:
@controllers[0] should yield => something_1
@controllers[1] should yield => something_2
@controllers[n] should yield => something_(n+1)
我怎样才能让它工作?
【问题讨论】:
-
在您的第一个方法中,您使用的是
@controllers.first[n],但方法for_controller没有参数n。n来自哪里? -
也许您只是在寻找没有
[n]的@controllers.first? -
阅读以下答案