在Scala中是否有一些标准方法来指定一个什么都不做的函数,例如在实现特征时?这有效:
trait Doer {
def doit
}
val nothingDoer = new Doer {
def doit = { }
}
Run Code Online (Sandbox Code Playgroud)
但也许还有一些更合适的方式来制定什么呢?
编辑出现了一些有趣的答案,我在回答中添加了一些问题.首先,事实证明我可以在Doer中使用默认实现.好的提示,但你并不总是那么想.其次,显然更惯用的写作方式是:
val nothingDoer = new Doer {
def doit { }
}
Run Code Online (Sandbox Code Playgroud)
第三,尽管没有人提出这一点,但我发现这似乎也有效:
val nothingDoer = new Doer {
def doit = Unit
}
Run Code Online (Sandbox Code Playgroud)
这是一个很好的选择吗?
(我认为,少数人建议的":单位"并没有真正添加任何内容.)
Lui*_*hys 11
由于您的返回类型是单位,因此通常不使用 =
val nothingDoer = new Doer {
def doit {}
}
Run Code Online (Sandbox Code Playgroud)