컴파일러에서 유형 매개 변수로 열거 형을 사용하여 나에게 슬픔을주고 싶습니다.스칼라에서 형식 매개 변수로 열거 형을 사용할 수 있습니까?
object VehicleClass extends Enumeration {
type VehicleClass = Value
val Land, Air, Sea = Value
}
import VehicleClass._
trait Vehicle[K <: VehicleClass] { val kind: K }
case class Car(passengers: Int) extends Vehicle[Land] { val kind: Land }
컴파일러는 불평 :
[error] /Users/me/test/scala/co.blocke.scalajack/json/test.misc/Greg.scala:18: not found: type Land
[error] case class Car(passengers: Int) extends Vehicle[Land] { val kind: Land }
[error] ^
[error] /Users/me/test/scala/co.blocke.scalajack/json/test.misc/Greg.scala:18: not found: type Land
[error] case class Car(passengers: Int) extends Vehicle[Land] { val kind: Land }
[error] ^
방법이 작업을 수행 할 수 있는가?
왜 열거 형이 필요합니까? 어쨌든 밀폐 된 특성 VehicleClass와 Land, Air, Sea로 특성을 확장하는 케이스 클래스로 동일한 결과를 얻을 수 있습니다 –
Alexey가 열거 형을 사용하여이 작업을 수행 할 수 있다고 말했듯이이 작업은 Josep 지적. 나는 scala를 사용하지 않습니다 .Enumeration,이 링크는 http://underscore.io/blog/posts/2014/09/03/enumerations.html을 더 잘 이해하는 데 도움이 될 것입니다. – iain