クラスのリストから正確な属性のみを取得する方法。
case class Person(name: String, age: Int)
val a = Person("a", 1)
val b = Person("b", 1)
val persons = List(a, b)
val names = ???
assertEquals(List("a", "b"), names)
クラスのリストから正確な属性のみを取得する方法。
case class Person(name: String, age: Int)
val a = Person("a", 1)
val b = Person("b", 1)
val persons = List(a, b)
val names = ???
assertEquals(List("a", "b"), names)
これを試して:
scala> val names = persons.map(_.name)
names: List[String] = List(a, b)
または、同時に複数のフィールドにアクセスする場合は、次のようにします。
scala> val names = persons.map{ case Person(name, age) => name }
names: List[String] = List(a, b)
for { person <- persons } yield person.name
基本的に地図と同じこともできます