如何使用 Ruby 的新 lambda 语法?

2024-07-04

Ruby 有 lambda 语法,所以我可以使用-> symbol:

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]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Ruby 的新 lambda 语法? 的相关文章

随机推荐

  • 忽略页面中的 javascript 语法错误并继续执行脚本

    我为 WordPress 开发插件 它在用户端 主题 使用一些jquery作为jquery插件 问题是 当其他作者制作的其他插件出现 javascript 错误时 我的插件的 javascript 无法执行 最糟糕的是 人们认为我的插件存在
  • bash:如何拦截每个命令

    有没有办法拦截发出的每个命令bash 我可以拦截特定命令 例如cd通过定义一个函数cd 我也可以对其他命令一次执行一个命令 但是我可以编写一个在执行每个命令之前调用的函数吗 我想做一些命令的簿记 然后执行命令 米哈乌 斯拉杰尔的想法PS4
  • Excel VBA - 选择不按顺序排列的多列

    我想选择multiple列 例如 我想要select column a b d e g h 我试过了 Columns A B D E G H select I get error信息 Type mismatch Range A B D E
  • 事务内存需要什么才能可行?

    我一直在研究事务内存及其对系统编程 数据库 操作系统 服务器等 的可行性 我自己使用事务的经验 以及看到很少有社区在实际代码中使用事务 提出了一个问题 什么会说服你 一个编写生产代码的开发人员 在你的工作中使用事务内存 会被普遍采用吗 高速
  • Grails 填充域实例

    我已经被同样的问题困扰了几天 但没有取得任何进展 我正在使用 g formRemote 标记来更新消息模板
  • 将代码从 Excel 宏转换为 PowerShell

    我在 Excel 中打开一个 CSV 文件并运行此宏来更改背景颜色 我正在尝试将这部分代码转换为PowerShell lrow Range G Rows Count End xlUp Row Set MR Range G2 G lrow F
  • Boost Asio 的主机名解析在 Linux 上如何工作?可以使用NSS吗?

    当没有网络连接时 我试图使我的网络应用程序在本地工作 服务器和客户端在同一台计算机上运行 这似乎偶尔 有效 但大多数时候我都会得到 terminate called after throwing an instance of boost e
  • 如何在 Visual Studio 中为安装/部署项目配置构建后事件

    我的解决方案有两个项目 一个是我的实际项目 另一个是设置项目 我的实际项目有一个报告文件夹 我在其中存储所有 ssrs 报告 我在安装项目中有一个名为 SSRS Repor 的文件夹 现在我希望当我进行批量构建时重新生成项目设置 然后我想将
  • pom.xml 中的 maven-protoc-plugin 配置不正确

    我正在解决的问题 我需要一个 Protobuf 的 Maven 插件 从我的 google 搜索中 我得出的结论是 maven protoc plugin 目前最受关注 该插件的最新活动是在 2013 年 3 月 这也非常令人鼓舞 链接 h
  • 无法使用设备上的沙箱测试用户登录

    尝试进行一些应用程序内购买测试 因此我在 itunesconnect 上创建了一个沙箱测试器 但是当我尝试在我的设备上以该用户身份登录时 出现错误 不允许创建 Itunes 帐户 Apple ID 目前无法用于 iTunes 商店 请 稍后
  • 针对 Visual Studio .net 错误的 Oracle 开发人员工具

    当我尝试安装 ODAC 以在 Visual Studio 上集成 Oracle 时 我已在 PC 和 Visual Studio 2015 上安装了 Oracle 12c 然后我收到一个错误 INS 50013 Visual Studio
  • 如何对齐 tkinter 小部件?

    我该如何调整我的Radiobutton是 我可以添加空格test4但这个解决方案似乎并不合适 这是目前的样子 如您所见text111111有额外的字符 我尝试过使用padx My code from tkinter import class
  • VScode 单元测试配置

    我通常使用此命令从项目根目录运行我的 python 3 6 单元测试 python m unittest discover v s p test py 但是 我无法使用 vscode 进行设置 我的配置是 python testing un
  • 使用 WebClient 下载时获取原始文件名

    当 Uri 不包含名称时 有什么方法可以知道使用 WebClient 下载的文件的原始名称吗 例如 在下载源自预先未知名称的动态页面的网站中 就会发生这种情况 使用我的浏览器 该文件获得正确的名称 但是如何使用 WebClient 来完成此
  • Github Action 中的 Git 历史记录

    我想在 Github Action 中记录 git 历史记录 但 Action 的环境似乎有所不同 echo git log 5 oneline 外壳 bin bash e 0 7c0faa6 将 c245982a87ef5538d42ab
  • 为什么自动装配在线程中不起作用?

    我在Spring 3 0中做了一个maven项目 我做了一些DAO 服务和控制器 在我的一个控制器中我调用了一个服务 在其中启动了一个线程 问题是在线程中我声明了一个 服务 变量 应该使用 Autowired 注释进行初始化 但它不起作用
  • QT 正则表达式检索数字

    我必须拆分 number number number 形式的简单 QString 例如 2323 432 1223 我使用的代码是 QString line QRegularExpression re d QRegularExpressio
  • dotnet sdk 已安装但无法识别 - Linux Ubuntu/popOS 22.04

    昨天我的 dotnet sdk 工作得很好 今天当我登录到我的电脑时 我更新了系统和 VSCode 然后当我尝试运行时dotnet watch run 我收到此错误 You intended to execute a NET applica
  • 如何忽略`git stash -p`中添加的帅哥

    想象一下这个场景 edit two files git add p add hunks from one file 现在当你跑步时git stash p 它会再次询问您是否要隐藏您刚刚通过选择的帅哥git add p 有没有办法配置 git
  • 如何使用 Ruby 的新 lambda 语法?

    Ruby 有 lambda 语法 所以我可以使用 gt symbol a 0 new gt a lt 5 do puts a a 1 end 这非常有效 但是当我尝试这样做时 match to gt e 404 Hello I am mic