【发布时间】:2014-05-06 23:53:23
【问题描述】:
例如,scalatest 表示要检查是否定义了Option,我应该使用类似的表达式
val opt: Option[String] = ...
opt should be ('defined)
由于Option 具有isDefined,这要么是 API 设计,要么实际上是对所述函数的奇异引用……但我想知道它是如何工作的。
【问题讨论】:
-
这是一个symbol。我曾经问过what the use 这是在 Scala 中的,我仍然不相信这是一个非常有用的功能。
-
它在 Scala 中定义了一个 Symbol。相关:stackoverflow.com/questions/780287/…stackoverflow.com/questions/1324466/…
-
@Jesper 我认为符号是 Erlang 原子的 Scala 版本。
-
@ghik 实际上 clojure's keyword 与 scala 符号关系更密切——它们具有完全相同的实现机制(内部字符串)