Lua:
การเขียนไฟล์ข้อความ
วิธีการ:
ใน Lua การทำงานกับไฟล์เพื่อการเขียนนั้นทําได้ไม่ยาก คุณมักจะใช้ฟังก์ชัน io.open()
เพื่อเปิด (หรือสร้าง) ไฟล์โดยระบุโหมดการดำเนินการ – ในกรณีนี้คือ "w"
สำหรับการเขียน หากไฟล์ไม่มีอยู่ จะถูกสร้างขึ้น หากมีอยู่ ข้อมูลภายในจะถูกเขียนทับ สิ่งสำคัญคือต้องปิดไฟล์หลังจากเขียนเพื่อให้แน่ใจว่าข้อมูลถูกบันทึกอย่างเหมาะสมและทรัพยากรถูกปล่อยออกมา
ตัวอย่างง่ายๆ ที่เขียนสตริงลงในไฟล์ชื่อ “example.txt”:
-- เปิดไฟล์ในโหมดการเขียน
local file, err = io.open("example.txt", "w")
-- ตรวจสอบข้อผิดพลาดในการเปิดไฟล์
if not file then
print("ไม่สามารถเปิดไฟล์ได้: ", err)
return
end
-- ข้อความที่จะเขียนลงไฟล์
local text = "Hello, Lua!"
-- เขียนข้อความลงไฟล์
file:write(text)
-- ปิดไฟล์
file:close()
print("เขียนไฟล์เรียบร้อยแล้ว.")
ผลลัพธ์ตัวอย่าง:
เขียนไฟล์เรียบร้อยแล้ว.
การเขียนหลายบรรทัด:
เพื่อการเขียนหลายบรรทัด คุณสามารถใช้ \n
สำหรับบรรทัดใหม่ในสตริงข้อความของคุณ หรือเรียก file:write
หลายครั้ง
local lines = {
"บรรทัดแรก",
"บรรทัดที่สอง",
"บรรทัดที่สาม"
}
local file = assert(io.open("multiple_lines.txt", "w"))
for _, line in ipairs(lines) do
file:write(line, "\n")
end
file:close()
print("เขียนหลายบรรทัดเรียบร้อยแล้ว.")
ผลลัพธ์ตัวอย่าง:
เขียนหลายบรรทัดเรียบร้อยแล้ว.
การใช้ไลบรารีจากบุคคลที่สาม:
แม้ว่าไลบรารีมาตรฐานของ Lua จะเพียงพอสำหรับการดำเนินการกับไฟล์ที่ซับซ้อนมากขึ้น คุณอาจพิจารณาใช้ไลบรารีจากบุคคลที่สามอย่าง Penlight Penlight เพิ่มความสามารถของการดำเนินการกับไฟล์มาตรฐานของ Lua และให้วิธีที่ง่ายขึ้นในการทำงานกับไฟล์และไดเรกทอรี
หลังจากติดตั้ง Penlight คุณสามารถเขียนลงไฟล์ได้ดังนี้:
local pl = require "pl"
local path = require "pl.path"
local file = require "pl.file"
-- ข้อความที่จะเขียน
local text = "Hello, Penlight!"
-- ใช้ Penlight เพื่อเขียนลงไฟล์
local result, err = file.write("hello_penlight.txt", text)
if not result then
print("ข้อผิดพลาดในการเขียนไฟล์: ", err)
else
print("เขียนไฟล์เรียบร้อยแล้วด้วย Penlight.")
end
ผลลัพธ์ตัวอย่าง:
เขียนไฟล์เรียบร้อยแล้วด้วย Penlight.