我正在尝试创建一个接收函数的类,但是,我希望它是可选的,如果调用者将其排除在外,我希望将其替换为默认函数。
目前我有以下内容:
class MenuItem(val text: String, val onClick: (Vector2f) => Unit) extends Renderable {
def this(text: String) = this(text, { position => () })
private def default(position: Vector2f) = {
println(text + " was clicked, but is still using the default event.")
}
}
这工作正常,但我想替换{ position => () })
构造函数中的,default
但这样做会导致错误“未找到:值默认值”。
我试过在没有 private 修饰符的情况下声明默认值,但这没有帮助。
我想出的最佳解决方案是这样声明:
def this(text: String) = this(text, position => println(text + " was clicked, but is still using the default event."))
有没有办法可以保留定义的默认方法并只使用它的名称,还是我必须坚持内联实现该方法?