Elixir:
Escribiendo un archivo de texto

Cómo hacerlo:

Elixir facilita el manejo de archivos con módulos incorporados. La forma principal de escribir en un archivo es usando las funciones File.write/2 o File.write!/2, donde la primera devuelve una tupla :ok o :error y la segunda genera un error en caso de fallo.

He aquí un ejemplo simple:

# Escribiendo en un archivo, mensaje simple
File.write("hello.txt", "¡Hola, Mundo!")

# Cuando ejecutas el código, se crea 'hello.txt' con "¡Hola, Mundo!" como contenido

Para agregar contenido a archivos, usarías File.open/3 con las opciones [:write, :append], luego IO.binwrite/2 para añadir el contenido:

# Agregando a un archivo
{:ok, archivo} = File.open("hello.txt", [:write, :append])
IO.binwrite(archivo, "\nAgreguemos otra línea.")
File.close(archivo)

# Ahora 'hello.txt' incluye una segunda línea "Agreguemos otra línea."

Si trabajas con grandes datos o necesitas más control sobre el proceso de escritura, podrías usar el módulo Stream para escribir datos en el archivo de forma perezosa:

# Escribiendo un gran conjunto de datos de forma perezosa
datos_stream = Stream.iterate(0, &(&1 + 1))
            |> Stream.map(&("Número: #{&1}\n"))
            |> Stream.take(10)

File.open!("numbers.txt", [:write], fn archivo ->
  Enum.each(datos_stream, fn línea ->
    IO.write(archivo, línea)
  end)
end)

# Esto crea 'numbers.txt', escribiendo números del 0 al 9, cada uno en una nueva línea.

Para proyectos que requieren un manejo de archivos más sofisticado, podrías investigar bibliotecas de terceros como CSV, que ofrece funcionalidades a medida para la manipulación de archivos CSV pero recuerda, para muchos propósitos, las capacidades incorporadas en Elixir son más que suficientes.