在Ruby 1.8中,proc/lambda与另一方面之间存在细微差别Proc.new.
Ruby有lambda语法,所以我可以使用->符号:
a = 0
new -> { a < 5 } do
puts a
a += 1
end
Run Code Online (Sandbox Code Playgroud)
这非常有效,但当我尝试这样做时:
match "/", to: -> { |e| [404, {}, ["Hello! I am micro rack app"]] }, via: [:get]
match( "/", to: -> { |e| [404, {}, ["Hello! I am micro rack app"]] }, via: [:get] )
match( "/", { to: -> { |e| [404, {}, ["Hello! I am micro rack app"]] }, via: [:get] })
Run Code Online (Sandbox Code Playgroud)
所有返回相同的语法错误:
$ ruby -c -e …Run Code Online (Sandbox Code Playgroud)