Elixir:
การอ่านไฟล์ข้อความ
วิธีการ:
นี่คือวิธีอ่านเนื้อหาทั้งหมดของไฟล์ข้อความชื่อ example.txt
:
File.read("example.txt")
ตัวอย่างการแสดงผลหาก example.txt
มีเนื้อหาว่า “Hello, Elixir!”:
{:ok, "Hello, Elixir!"}
เพื่ออ่านไฟล์ทีละบรรทัด:
File.stream!("example.txt")
|> Enum.each(fn line -> IO.puts(line) end)
สิ่งนี้จะพิมพ์แต่ละบรรทัดของ example.txt
ลงในคอนโซล
ทำความเข้าใจลึกซึ้ง
ใน Elixir, File.read/1
และ File.stream!/1
เป็นวิธีการทั่วไปในการอ่านไฟล์ข้อความ ในอดีต การอ่านไฟล์ในการเขียนโปรแกรมมีจุดกำเนิดจากความต้องการในการจัดเก็บและเรียกข้อมูล ในยุคการคอมพิวเตอร์เริ่มแรก การทำเช่นนี้ได้รับการดำเนินการโดยใช้ punch cards หรือ magnetic tapes วันนี้เราใช้อุปกรณ์จัดเก็บข้อมูลหลากหลายประเภทเช่น SSDs, HDDs และอื่น ๆ
ทางเลือกหนึ่งของ File.read/1
คือ File.read!/1
ซึ่งจะแสดงข้อผิดพลาดหากเกิดปัญหาใด ๆ แทนที่จะคืนค่าเป็น tuple ในทำนองเดียวกัน File.stream!/1
แตกต่างจาก File.stream/1
โดยจะแสดงข้อผิดพลาดหากล้มเหลวแทนที่จะคืนค่า error tuple
การดำเนินการในเบื้องหลังจัดการกับข้อมูล binary ข้อความถูกแปลงเป็น binaries โดย Elixir ซึ่งจัดการกับ bytes และ encoding ระดับพื้นฐาน
ดูข้อมูลเพิ่มเติมที่:
- เอกสารของโมดูล
File
อย่างเป็นทางการของ Elixir: https://hexdocs.pm/elixir/File.html