Rainy Day Codings - Scala で怠惰なリテラル表記
タプルを使うとこんな感じで書ける
object Main {
def main(args : Array[String]): Unit = {
val ls = List(
("Akira", 23, "Japan"),
("Johnny", 38, "America"),
("Millia", 16, "Russia")
)
ls.foreach{x =>
println(x._1) // 名前
println(x._2) // 年齢
println(x._3) // 国籍
}
}
}
これを、_1, _2, _3 ではなく、name, age, country と書きたい
case class Person(name: String, age: Int, country: String) object Main { implicit def tupleToPerson(tup: (String, Int, String)): Person = tup match { case (name, age, country) => Person(name, age, country) } def main(args : Array[String]): Unit = { val ls = List( ("Akira", 23, "Japan"), ("Johnny", 38, "America"), ("Millia", 16, "Russia") ) ls.foreach{x => println(x.name) println(x.age) println(x.country) } } }
使う側のコードだけ見るとけっこう怪しいけど、おもしろいな