我看到了 Railscast #151。在此视频中,展示了 Rack 的片段。它对应于Rack::Builder
模块。我在to_app
方法中遗漏了一些东西:
def to_app
app = @map ? generate_map(@run, @map) : @run
fail "missing run or map statement" unless app
@use.reverse.inject(app) { |a,e| e[a] }
end
有人可以解释该方法的最后一行以及它实际上做了什么吗?我知道inject
使用累加器变量和元素变量。但我不明白为什么我们可以使用e[a]
.