为什么每个方法被调用?
问题描述:
我发现从西纳特拉README网页此示例代码摘录为什么每个方法被调用?
class Stream
def each
100.times { |i| yield "#{i}\n" }
end
end
get('/') { Stream.new }
当我到了'/'
路径,似乎调用每个方法上Stream.new
对象,这是为什么呢?
答
each
被称为流对象上,而不是在Stream
类。为了得到一个流对象,你需要做的Stream.new
。