Мне нравится, когда мой код читается наивно.
Если я настрою простой список кортежей:
scala> val a = List(6, 8, 10)
a: List[Int] = List(6, 8, 10)
scala> val b = a zipWithIndex
b: List[(Int, Int)] = List((6,0), (8,1), (10,2))
Я бы хотел отобразить () в Списке, но мне трудно понять синтаксис ._1 ._2:
scala> val c = b map ( a => if(a._1 > 8) a._1 else a._2 )
c: List[Int] = List(0, 1, 10)
Чтобы назвать имя кортежа, я использовал:
scala> val c = b map ( { case (num, i) => if(num > 8) num else i } )
c: List[Int] = List(0, 1, 10)
Два вопроса:
1) Есть ли более краткий способ назвать членов кортежа?
2) Имеется ли значительное снижение производительности для моей версии выше (она используется в умеренно критичном для производительности коде).
Спасибо.