2010-02-21 26 views
5

estoy tratando de analizar un archivo de texto que contiene un número variable de palabras y números por línea, así:Ruby file IO delimitadores?

foo 4.500 bar 3.00 
1.3 3 foo bar 

¿Cómo puedo leer el archivo delimitado por espacios en lugar de saltos de línea? ¿Hay alguna manera de configurar el método File("file.txt").foreach para usar espacios en lugar de líneas nuevas como delimitador?

Respuesta

3

Puede utilizar

open('file.txt').read.split.each 

para darle un iterador sobre el espacio (o salto de línea) separados palabras.

3

File.open ("archivo.txt"). Read.split (" ") .Cada

3

La respuesta aceptada será slurp el archivo, que puede ser un problema con archivos de texto grandes.

Una mejor solución es IO.foreach. Es idiomática y transmitir los archivos carbón por carbón:

File.foreach(filename," ") {|string| puts string} 

archivo de muestra que contiene "this is an example" resultados con

"this" 
"is" 
"an" 
"example"