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