Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Esporta (0) Stampa
Espandi tutto
Espandi Riduci a icona
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Funzione Seq.iter<'T> (F#)

Applica la funzione specificata a ogni elemento della raccolta.

Percorso spazio dei nomi/modulo: Microsoft.FSharp.Collections.Seq

Assembly: FSharp.Core (in FSharp.Core.dll)

// Signature:
Seq.iter : ('T -> unit) -> seq<'T> -> unit

// Usage:
Seq.iter action source

action

Tipo: 'T ->unit

Funzione da applicare a ogni elemento della sequenza.

source

Tipo: seq<'T>

Sequenza di input.

Exception

Condizione

ArgumentNullException

Generata se la sequenza di input è Null.

Questa funzione è denominata Iterate negli assembly compilati. Utilizzare questo nome se si accede alla funzione da un linguaggio diverso da F# o tramite reflection.

Nell'esempio seguente viene illustrato l'utilizzo di Seq.iter.


printf "Seq.iter: "
Seq.iter (fun (a,b) -> printf "(%d, %d) " a b) (seq { for i in 1..5 -> (i, i*i) })


            
              Seq.iter: (1, 1) (2, 4) (3, 9) (4, 16) (5, 25)
            
          

Nell'esempio seguente viene illustrato l'utilizzo di Seq.iter con i file CSV (Comma-Separated Value).


// Write a test file
System.IO.File.WriteAllLines(@"test.csv", [| "Desmond, Barrow, Market Place, 2"; 
                                             "Molly, Singer, Band, 12" |]);

/// This function builds an IEnumerable<string list> object that enumerates the CSV-split
/// lines of the given file on-demand 
let CSVFileEnumerator(fileName) = 

    // The function is implemented using a sequence expression
    seq { use sr = System.IO.File.OpenText(fileName)
          while not sr.EndOfStream do
             let line = sr.ReadLine() 
             let words = line.Split [|',';' ';'\t'|] 
             yield words }

// Now test this out on our test file, iterating the entire file
let test = CSVFileEnumerator(@"test.csv")  
printfn "-------Enumeration 1------";
test |> Seq.iter (string >> printfn "line %s");
// Now do it again, this time determining the numer of entries on each line.
// Note how the file is read from the start again, since each enumeration is 
// independent.
printfn "-------Enumeration 2------";
test |> Seq.iter (Array.length >> printfn "line has %d entries");
// Now do it again, this time determining the numer of entries on each line.
// Note how the file is read from the start again, since each enumeration is 
// independent.
printfn "-------Enumeration 3------";
test |> Seq.iter (Array.map (fun s -> s.Length) >> printfn "lengths of entries: %A")


            
              -------enumerazione 1------ System.String riga della riga System.String [] [] -------enumerazione 2------ la riga con 8 voci che la riga con 7 voci -------enumerazione 3------ lunghezza delle voci: [|7; 0; 6; 0; 6; 5; 0; 1|] lunghezze delle voci: [|5; 0; 6; 0; 4; 0; 2|]

            
          

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Versioni della libreria di base F#

Supportato in: 2,0, 4,0, portabile

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2015 Microsoft