Могу ли я в scala отменить применение кортежа, а затем запустить над ним карту?

У меня есть некоторые финансовые данные, собранные в List[(Int, Double)], вот так:

val snp = List((2001, -13.0), (2002, -23.4))

С помощью этого я написал формулу, которая преобразует список , через карту, в другой список (чтобы продемонстрировать страхование жизни инвестиционного уровня), где убытки ниже 0 преобразуются в 0, а выигрыши выше 15 преобразуются в 15, например:

case class EiulLimits(lower:Double, upper:Double)
def eiul(xs: Seq[(Int, Double)], limits:EiulLimits): Seq[(Int, Double)] = {
    xs.map(item => (item._1, 
                    if (item._2 < limits.lower) limits.lower 
                    else if (item._2 > limits.upper) limits.upper 
                         else item._2
}

Можно ли как-то извлечь значения кортежа внутри этого , поэтому мне не нужно использовать неуклюжие обозначения _1 и _2?

5
задан gregturn 28 March 2012 в 18:37
поделиться