Есть ли удобный экстрактор, который является отражением (в математическом смысле) оператора ->
?Вложенный экстрактор кортежа в scala ->
Например, это работает:
scala> val y = 1 -> 2 -> 3
y: ((Int, Int), Int) = ((1,2),3)
scala> y match { case ((a,b),c) => s"Values are : $a, $b, and $c" }
res0: String = Values are : 1, 2, and 3
Но это не делает:
scala> y match { case a -> b -> c => s"Values are : $a, $b, and $c" }
<console>:9: error: not found: value ->
y match { case a -> b -> c => s"Values are : $a, $b, and $c" }
^
<console>:9: error: not found: value a
y match { case a -> b -> c => s"Values are : $a, $b, and $c" }
^
Вы можете увидеть, как это было бы полезно, если у вас есть несколько вложенных кортежей. В случае, если вам интересно, мои вложенные кортежи создаются внешней библиотекой, поэтому я не могу просто «сгладить» себя.
Ссылка @johny предоставленном ответ. Но мне просто интересно, есть ли причина, почему вы предпочитаете «1 -> 2 -> 3' over' (1, 2, 3)'? Если вы используете '1 -> 2 -> 3', вы по-прежнему будете видеть время от времени' ((1, 2), 3) '(на выходе или в отладке), и он выглядит уродливым – Archeg
@johny да это точно тот же вопрос. Благодарю. – Luciano
@Archeg, как я сказал в вопросе, это потому, что я получаю это от внешней библиотеки в этой форме ... – Luciano