为什么调用每个方法?

时间:2011-06-15 04:30:59

标签: ruby sinatra

我在Sinatra README网页上找到了这个示例代码摘录

class Stream
  def each
    100.times { |i| yield "#{i}\n" }
  end
end

get('/') { Stream.new }

当我到达'/'路径时,它似乎调用了Stream.new对象上的每个方法,为什么会这样?

1 个答案:

答案 0 :(得分:0)

each在流对象上调用,而不是在Stream类上调用。要获取流对象,您需要执行Stream.new