我正在编写数据库访问服务。不同的服务将以某种方式返回存储在数据库中的不同对象。我想模拟我在地图上的访问方法。
trait DatabaseAcess[T] {
def get(id: String): Option[T]
def getOrElse(id: String, default: => T): T = get(id).getOrElse(default)
def ()(id: String) = get(id).getOrElse(throw new Exception(s"can't get $id"))
}
我是超级n00b。我怎样才能使()工作?
答案 0 :(得分:2)
您可以将方法定义为
def apply(id: String) = get(id).getOrElse(throw new Exception(s"can't get $id"))