0

私はジェネリッククラスとタイプBook[T](index: Int, type: T)のオブジェクトを持っています。インデックスと型にアクセスする方法がわかりません。私はもう試した:fooBook

1. foo match { case Book[T](index: Int, type:T) => {} }
2. foo match { case Book(index: Int, type:T) => {} }
3. foo match { case foo: Book[T] => { foo.index } }

すべて失敗し、次のメッセージが表示されます。

1. class Book does not take type parameters
2. class Book not found
3. index is not a member of Book

ありがとうございました。

4

1 に答える 1

1

Welltypeはすでに scala で使用されているキーワードです。パターンマッチの代わりに別のキーワードを使用して同じことを達成することができますtypecase class

 case class Book[T](index: Int, bookType : T)

  val foo =  Book(1,Book)                         

  // foo  : stack.Book[stack.Book.type] = Book(1,Book)

  foo match {
    case Book(i,t) => "index : " + i + ", type : " + t // play around with i & t
  }                                     

 //> res0: String = index : 1, type : Book
于 2013-03-30T17:51:20.437 に答える