f# - 你能在 F# 中定义一个运算符 (***) 吗?

标签 f# functional-programming operators arrows

我正在 F# 中处理 Arrows,我想创建一个 ***运算符(operator)。但是,我注意到 (***)是在函数定义中表达运算符的必要方式,与 F# 块注释语法重叠。那么你怎么能真正表达这一点呢?

我想到了也许.***.但我认为这实际上会将点视为运算符的一部分,我宁愿避免这样做。

最佳答案

是的,但您需要在括号和星号之间添加空格:

let ( *** ) x y = x * y

let z = 4 *** 5

关于f# - 你能在 F# 中定义一个运算符 (***) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4027657/

相关文章:

c++ - istream::operator>>( const char& ) as no such function 是如何实现的?

php - .= 运算符在 PHP 中是什么意思?

performance - SQLITE 运算符 "="与 "< AND >"性能差异比较

multithreading - 如何限制在 F# 中为异步 Seq.map 操作创建的线程数?

f# - 有没有更惯用的方法来实现这些顺序测试,在 F#

c# - 为什么 FSharpOption 的某些属性(例如 IsSome 和 IsNone)在 C# 中不可见?

functional-programming - OCaml 中的可变数据

f# - 按元组成员映射元组列表

functional-programming - 对于定点组合器 Y,\x.f(xx) 是什么

vector - 通过附加向量来改变方案中的向量