機能のエントリで作ったDIフレームワークをもうちょっとちゃんとしました。 長いですけど引用します。 コンポーネントの循環参照を自動的に解決できるようになりました! 1 import scala.collection.immutable.Map 2 import scala.collection.immutable.Stack 3 4 trait Key[+T] 5 6 class Component(val entries:Map[Key[Any],(Injector)=>Any]) { 7 8 def define[T](key:Key[T], factory: (Injector)=> T) = 9 new Component(entries + (key -> factory)) 10 11 def define[T](key:Key[T], fact