Scala中是否有某种标准的方法来指定不执行任何功能的函数,例如在实现特征时?这有效:
trait Doer {
def doit
}
val nothingDoer = new Doer {
def doit = { }
}
但是,也许有一些更友善的方式来解决问题,这是什么呢?
编辑出现了一些有趣的答案,为此我在问题中添加了一些内容。首先,事实证明我可以在Doer中使用默认实现。很好的提示,但您并不总是希望如此。其次,显然,更惯用的写作方式是:
val nothingDoer = new Doer {
def doit { }
}
第三,尽管没有人提出确切的建议,但我发现这似乎也可行:
val nothingDoer = new Doer {
def doit = Unit
}
这是一个很好的选择吗?
(我认为一些人建议的“:Unit”并没有真正添加任何内容。)
最佳答案
由于您的返回类型为Unit,因此通常不使用=
val nothingDoer = new Doer {
def doit {}
}