Ruby File IO Delimitors?
Pregunta
Estoy tratando de analizar un archivo de texto que contiene un número variable de palabras y números por línea, como este:
foo 4.500 bar 3.00
1.3 3 foo bar
¿Cómo puedo leer el archivo delimitado por espacios en lugar de nuevas líneas? ¿Hay alguna forma de configurar el File("file.txt").foreach
¿Método para usar espacios en lugar de nuevas líneas como delimitador?
Solución
Puedes usar
open('file.txt').read.split.each
para darle un iterador sobre el espacio (o nueva línea) palabras separadas.
Otros consejos
File.open ("file.txt"). Read.split ("") .E cada uno
La respuesta aceptada sorber El archivo, que puede ser un problema con grandes archivos de texto.
Una mejor solución es IO.foreach
. Es idiomático y transmitirá el archivo Char por char:
File.foreach(filename," ") {|string| puts string}
Archivo de muestra que contiene "this is an example"
resultados con
"this"
"is"
"an"
"example"