voglio fare qualcosa di simile (semplificato piuttosto pesantemente):Lavorare con tuple a Scala
((1, 2, 3, 4, 5, 6), (6, 5, 4, 3, 2, 1)).zipped map (_ + _)
ignorare i valori effettivi degli interi (anche se è importante che questi sono 6-tuple, in realtà :)) . Essenzialmente, voglio usarlo abbastanza regolarmente in una funzione che mantiene uno Map[String, (Int, Int, Int, Int, Int, Int)]
quando un elemento esistente viene aggiornato.
Così com'è, Scala sputa questo fuori di me:
<console>:6: error: could not find implicit value for parameter w1: ((Int, Int, Int, Int, Int, Int)) => scala.collection.TraversableLike[El1,Repr1]
((1, 2, 3, 4, 5, 6), (6, 5, 4, 3, 2, 1)).zipped
Se uso Seq
s invece di tuple, tutto funziona bene, ma voglio far rispettare un arity di 6 nel sistema di tipo (I Probabilmente sarà type Record = (Int, Int, Int, Int, Int, Int)
un veloce refactoring a breve).
Qualcuno può offrire qualche consiglio su cosa sto facendo male/perché Scala non si occuperà del codice sopra? Ho pensato che avrebbe funzionato se avessi usato una tupla 2 o 3-arity, visto che Scala definisce Tuple2
e Tuple3
s (ho capito che scalare le funzioni di tupla attraverso una n-arità arbitraria è difficile), ma ottengo lo stesso errore.
Grazie in anticipo per qualsiasi aiuto offerto :).
Mi piace. Ho bisogno di esaminare più implicitamente, in quanto sembra che siano un costrutto molto potente che mi sto perdendo (sto imparando Scala come vado al momento). Grazie! – frio
oh, è piuttosto elegante. Mi piace! –