思うところあって、Blogを引っ越すことにしました。
引っ越し先はコチラ↓
http://d.hatena.ne.jp/nosen/
今後もまとまった量なにか書きたいことがあったら更新していきますので、
よかったらのぞいてみてくださいね。
引っ越し先はコチラ↓
http://d.hatena.ne.jp/nosen/
今後もまとまった量なにか書きたいことがあったら更新していきますので、
よかったらのぞいてみてくださいね。
object A extends Key[A] class A { def methodA = "a" } object B extends Key[B] class B(inject:Injector) { val a = inject(A) } val component = Component.define(B, new B(_)) .define(A, new A) val b = component(B)
val component = Component.define(B, new B(_)) .define(B, new A) //本当はエラー
def define[T](key:Key[T], factory: (Injector)=> T) def define[T](key:Key[T], factory: => T)
val component = Component.define[B](B, new B(_)) .define[A](B, new A) //コンパイルエラーになる
val component = Component.define[Any](B, new B(_)) .define[Any](B, new A)