Elixir:
การเขียนไฟล์ข้อความ
วิธีการ:
Elixir ทำให้การจัดการไฟล์เป็นเรื่องง่ายด้วยโมดูลที่ติดตั้งมาในตัว วิธีหลักในการเขียนไฟล์คือการใช้ฟังก์ชัน File.write/2
หรือ File.write!/2
โดยที่ฟังก์ชันแรกส่งคืน tuple :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."
หากคุณทำงานกับข้อมูลขนาดใหญ่หรือต้องการการควบคุมกระบวนการเขียนได้มากขึ้น, คุณอาจใช้ 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 แต่จำไว้ว่า, สำหรับหลายๆ วัตถุประสงค์, ความสามารถที่ติดตั้งมาในตัวของ Elixir ก็เพียงพอแล้ว