Существует ли какое-либо рациональное для Option
не Traversable
?
В Scala 2.9, Seq(Set(1,3,2),Seq(4),Option(5)).flatten
не компилируется и просто имеет для него рациональные для меня шаблоны Traversable
. Если это не так, должно быть что-то, чего я не вижу, чтобы этого не допускать. Что это?
PS: пытаясь понять, я достиг ужасных вещей, которые компилируются, например:
scala> Seq(Set(1,3,2),Seq(4),Map("one"->1, 2->"two")).flatten
res1: Seq[Any] = List(1, 3, 2, 4, (one,1), (2,two))
PS2: Я знаю, что могу написать: Seq(Set(1,3,2),Seq(4),Option(5).toSeq).flatten
или другую уродливую вещь.
PS3: Швы, работающие в прошлом месяце, чтобы сделать Option
больше похожим на Traversable
без его реализации: commit, другое коммит