如何使用Ruby的新lambda语法? [英] How do I use Ruby's new lambda syntax?

查看:65
本文介绍了如何使用Ruby的新lambda语法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Ruby具有lambda语法,因此我可以使用->符号:

Ruby has lambda syntax, so I can use the -> symbol:

a = 0
new  -> { a < 5 }  do
   puts a
   a += 1
end

这很好,但是当我尝试这样做时:

This works very well, but when I try to do this:

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] })

所有返回相同的语法错误:

all of the return the same syntax error:

$ 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的新lambda语法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆