각 과일의 수를 유형에 따라 확인하고 싶습니다. 분명히 나는 그들을 어떤 방법으로 축적해야하지만 무엇이 가장 깨끗하고/깨끗한가? 당신은 패턴 일치로 count
을 사용할 수 있습니다목록의 요소를 스칼라의 유형에 따라 계산하십시오.
trait Fruit
case object Apple extends Fruit
case object Pear extends Fruit
case class Orange(variety: String) extends Fruit
val fruits = List(Pear, Apple, Pear, Pear, Apple, Orange("satsuma"), Orange("clementine"))
val numberOfOranges = ???
val numberOfApples = ???
val numberOfPears = ???
감사
나는이 솔루션이 마음에 들지만 그렇지는 않을 것 같다. val counts = fruits.groupBy { case _ : T => T } .map { case (key, values) => (key, values) => .size) } –
아니요, 작동하지 않습니다. 추상적 인 유형에는 패턴 일치를 사용할 수 없습니다. 당신은 아마 반사와 함께 뭔가를 할 수 있습니다. –