ho un flusso 'compresso' di valore a cui è collegato il numero di occorrenza di tale valore, per esempio:Ripetere sequenze in F #
let a = [(),1;(),4;(),3;]
Vorrei 'decomprimere' quella sequenza ed emettere il sequenza originale. Potrei definire un combinatore di ripetizioni per cedere! a tal fine
let rec repeat avalue n = seq { if n > 0 then
yield avalue; yield! repeat avalue (n-1) }
let b = seq { for v,n in a do
yield! repeat v n } |> Seq.toList
C'è un modo per esprimere quello in linea, nella forma di una composizione?
let c = a |> Seq.XXX(fun e -> ...)
ah, non sapevo che uno! – nicolas
Quindi questo è il migliore per le tuple, che è il contesto della mia domanda. Quindi questa è la risposta più funzionale. – nicolas
Ora c'è anche ['List.replicate <'T>'] (https://msdn.microsoft.com/en-us/library/ee353665.aspx). –