Elixir:
텍스트 파일 쓰기

방법:

Elixir는 내장 모듈로 파일 핸들링을 간단하게 만듭니다. 파일에 쓰는 주요 방법은 File.write/2 또는 File.write!/2 함수를 사용하는 것이며, 전자는 :ok 또는 :error 튜플을 반환하고 후자는 실패 시 오류를 발생시킵니다.

간단한 예시는 다음과 같습니다:

# 파일에 쓰기, 간단한 메시지
File.write("hello.txt", "Hello, World!")

# 코드를 실행하면 'hello.txt'가 "Hello, World!" 내용으로 생성됩니다

파일에 추가하기 위해서는 File.open/3[:write, :append] 옵션과 함께 사용하고 그 다음에 IO.binwrite/2로 내용을 추가합니다:

# 파일에 추가하기
{:ok, file} = File.open("hello.txt", [:write, :append])
IO.binwrite(file, "\nLet's add another line.")
File.close(file)

# 이제 'hello.txt'는 두 번째 줄 "Let's add another line."을 포함합니다.

큰 데이터를 다루거나 쓰기 과정을 더 많이 제어할 필요가 있는 경우, 파일에 데이터를 지연 쓰기(lazily)하기 위해 Stream 모듈을 사용할 수 있습니다:

# 큰 데이터셋을 지연 쓰기하기
stream_data = Stream.iterate(0, &(&1 + 1))
            |> Stream.map(&("Number: #{&1}\n"))
            |> Stream.take(10)

File.open!("numbers.txt", [:write], fn file ->
  Enum.each(stream_data, fn line ->
    IO.write(file, line)
  end)
end)

# 이것은 'numbers.txt'를 생성하며, 각각 새로운 줄에 0부터 9까지의 숫자를 씁니다.

보다 정교한 파일 핸들링이 필요한 프로젝트의 경우, CSV 파일 조작을 위한 맞춤 기능을 제공하는 CSV와 같은 제3자 라이브러리를 살펴볼 수 있지만, 많은 목적에 대해, Elixir의 내장 기능만으로도 충분하다는 것을 기억하세요.