2011-02-04 77 views
7

我可以聲明一個抽象類,如Scala的類型層級識別功能

type A[B] 

和在子類中定義爲

type A[B] = Option[B] 

如果我想A至是一個選項。如果我想讓A成爲B本身,我可以這樣做:

type A[B] = B 

我可以使用類型參數而不是類型成員實現相同的功能嗎?

回答

6

嘗試kinded更高參數:

class Foo[A[_]] { ... } 

type Id[A] = A 

type Foo1 = Foo[Option] 
type Foo2 = Foo[Id] 
+1

甚至,`型foo2的符= [({式ID [A] =一})#ID})]` – retronym 2011-02-04 06:45:12