【问题标题】:C# lambda (=>) syntax in F#F# 中的 C# lambda (=>) 语法
【发布时间】:2015-07-07 05:04:06
【问题描述】:

是否可以在 F# 中定义 => 运算符,使其行为类似于 C# 的 lambda 语法?这将允许一个人写

x => y

而不是

fun x -> y

我是 F# 初学者,直觉告诉我这是不可能的,因为 fun 看起来像一个特殊的形式。

【问题讨论】:

  • fun 在 F# 中不是可选的,但对于您给出 fun x -> x 的情况,您可以使用 id 的标识函数
  • 好点。我更新了这个例子,让读者不会认为我只关心它。

标签: c# syntax lambda f# operator-overloading


【解决方案1】:

不,不可能,因为lambda运算符绑定了一个变量(左边是一个变量,或者任何模式匹配,不是一个值对应的表达式),它被解析器特殊处理。

【讨论】:

  • 更不用说 C# 不经过 很多 的仪式就无法编译。
猜你喜欢
  • 2019-08-10
  • 1970-01-01
  • 2016-08-14
  • 2014-06-21
  • 1970-01-01
  • 1970-01-01
  • 2010-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多