【发布时间】:2021-08-08 20:25:09
【问题描述】:
R 4.1.0 famously introduced |>(“基础管道”)运算符和类似 Haskell 的 lambda 函数语法。
我认为可以像这样将两者结合起来:
c(1, 2, 3) |> \(x) 2 * x
这对我来说失败了:
错误:管道的 RHS 调用不支持函数“函数”
因此我认为这不是有效的语法?这有效:
c(1, 2, 3) |> (\(x) 2 * x)()
有没有更优雅的方式来链接管道和新的 lambda 函数?
【问题讨论】:
-
这条推文在这里编译了管道如何与 lambda 函数结合的选项列表:twitter.com/bmwiernik/status/1398611489901121536?s=09
-
这个设计决策的基本原理是什么? (即,鉴于解析器可以判断管道的 RHS 调用中有一个函数,为什么解析器不假设我们希望将函数应用于左侧,即使没有括号?)跨度>