【发布时间】:2016-02-07 20:38:54
【问题描述】:
clock 占用块:
def clock(&block)
hours = Time.new.hour
puts hours
hours.times do
block.call
end
end
这可行,并根据今天的时间将"DONG" 显示在屏幕上:
clock do
puts "DONG..."
end
我正在尝试传递dong 方法:
def dong
puts "DONG..."
end
到clock 作为它的块。这个:
clock(dong)
抛出错误:
`clock': wrong number of arguments (1 for 0) (ArgumentError)
谁能解释为什么第一个有效,而第二个无效?您是否必须明确定义您要传递的代码块,或者您可以引用另一个方法作为代码块?
【问题讨论】: