Esiste un ragionevole motivo per cui Option
non è Traversable
?Perché l'opzione non è percorribile?
In Scala 2.9, Seq(Set(1,3,2),Seq(4),Option(5)).flatten
non viene compilato e deve essere semplicemente implementato le giunzioni di tratto Traversable
per me. Se non è il caso, ci deve essere qualcosa che non vedo che non lo permetta. Che cos'è?
PS: Durante il tentativo di capire, ho raggiunto le cose terribili che compilano, come:
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: so di poter scrivere: Seq(Set(1,3,2),Seq(4),Option(5).toSeq).flatten
o altra brutta cosa.
PS3: Ci cuciture a essere il lavoro nell'ultimo mese per rendere Option
aspetto più simile a Traversable
senza attuazione: commit, another commit
Per domande di progettazione di linguaggio (o in questo caso libreria) come questa, in genere è meglio chiedere direttamente ai progettisti della lingua (o della biblioteca). Sono abbastanza reattivi sulla mailing list ma solo occasionalmente visitano StackOverflow. –
@ JörgWMittag Sarebbe bello avere una risposta compilata su SO, anche se .. –