Ruby 有 lambda 语法,所以我可以使用 ->
符号:
a = 0
new -> { a < 5 } do
puts a
a += 1
end
这很好用,但是当我尝试这样做时:
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] })
所有的返回相同的语法错误:
$ ruby -c -e 'match( "/", to: -> { |e| [404, {}, ["Hello! I am micro rack app"]] }, via: [:get] )'
-e:1: syntax error, unexpected '|'
match( "/", to: -> { |e| [404, {}, ["Hello! I am mi...
我错过了什么吗?
最佳答案
我认为新语法应该是
match "/", to: ->(e) { [404, {}, ["Hello! I am micro rack app"]] }, via: [:get]
关于ruby - 如何使用 Ruby 的新 lambda 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16632585/