Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Seq.iter<'T> (Función de F#)

Aplica la función especificada a cada elemento de la colección.

Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Collections.Seq

Ensamblado: FSharp.Core (en FSharp.Core.dll)

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

// Usage:
Seq.iter action source

action

Tipo: 'T ->unidad

Función que se va a aplicar a cada elemento de la secuencia.

source

Tipo: seq<'T>

Secuencia de entrada.

Excepción

Condition

ArgumentNullException

Se produce cuando la secuencia de entrada es NULL.

Esta función se denomina Iterate en los ensamblados compilados. Si obtiene acceso a la función desde un lenguaje distinto de F# o mediante reflexión, use este nombre.

En el siguiente ejemplo se muestra el uso de 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)
            
          

En el ejemplo siguiente se muestra el uso de Seq.iter para trabajar con archivos de valores separados por comas (CSV).


// 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")


            
              -------enumeración 1------ línea System.String de línea System.String [] [] -------enumeración 2------ la línea tiene 8 entradas que la línea tiene 7 entradas -------enumeración 3------ longitudes de entradas: [|7; 0; 6; 0; 6; 5; 0; 1|] longitudes de entradas: [|5; 0; 6; 0; 4; 0; 2|]

            
          

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

Versiones de la biblioteca básica de F#

Se admite en: 2.0, 4.0, portables

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft