在Scala中使用创造性和有用的运算符的示例

par*_*tic 7 scala operator-overloading

在与朋友讨论操作员重载之后.我正在研究Scala中运算符重载的创造性和/或有用的示例用法.我有一些很酷的插图:

  • 数学结构,如线性代数或复数(+ * -)
  • 模仿shell管道和重定向(| > < >>)
  • 语法中的替代表达式(|)

你有其他好的例子吗?

Jea*_*let 7

我不介意偶尔使用的:

  • 通用管道|>(例如someValue |> println)
  • := 一些结构,如可观察的价值持有者,以模仿任务
  • UI编程中的数据绑定<=>(双向),<==(单向)(例如,field.enabled <=> options.isEditable