私は、Applicationという特性を拡張するクラスに静的ユーティリティを付けたいと思っています。scala:暗黙クラス内に定義されたインポート関数
trait Application {
def name: String
}
case class TestApp(name: String) extends Application
object ImplicitConf {
implicit class AppConfig[T <: Application](val app: T) {
lazy val conf = loadConfig
def loadConfig = {
ConfigFactory.load(app.name)
}
def getString(path: String): String = conf.getString(path)
}
}
さて、次は正常に動作します:
import Application, TestApp
import ImplicitConf._
import AppUtil._
object TestAppConf extends App {
val app: Application = TestApp("TestAppConf")
val test = app.getString("hello")
println(s"The Config value is $test")
}
しかし、私はあまりにも貪欲です、どのように私はあなたが明示的にすることができ
val test = getString("hello")
アプリからすべてインポートできます。 import app._ – Ivan
申し訳ありませんが、コメントは応答のために暗黙の – Ivan