Lua - สิ่งอำนวยความสะดวกของระบบปฏิบัติการ
ในแอปพลิเคชันใด ๆ มักจำเป็นสำหรับการเข้าถึงฟังก์ชันระดับระบบปฏิบัติการและมีให้พร้อมกับไลบรารีระบบปฏิบัติการ รายการฟังก์ชันที่พร้อมใช้งานแสดงอยู่ในตารางต่อไปนี้
ซีเนียร์ | ห้องสมุด / วิธีการและวัตถุประสงค์ |
---|---|
1 | os.clock () ส่งกลับค่าประมาณของจำนวนเป็นวินาทีของเวลา CPU ที่ใช้โดยโปรแกรม |
2 | os.date ([format [, time]]) ส่งคืนสตริงหรือตารางที่มีวันที่และเวลาจัดรูปแบบตามรูปแบบสตริงที่กำหนด |
3 | os.difftime (t2, t1) ส่งคืนจำนวนวินาทีจากเวลา t1 ถึงเวลา t2 ใน POSIX, Windows และระบบอื่น ๆ ค่านี้คือ t2-t1 |
4 | os.execute ([command]) ฟังก์ชันนี้เทียบเท่ากับระบบฟังก์ชัน ANSI C มันผ่านคำสั่งที่จะดำเนินการโดยเชลล์ของระบบปฏิบัติการ ผลลัพธ์แรกจะเป็นจริงหากคำสั่งสิ้นสุดลงสำเร็จหรือเป็นอย่างอื่น |
5 | os.exit ([code [, close]) เรียกใช้ฟังก์ชัน ANSI C เพื่อยุติโปรแกรมโฮสต์ หากรหัสเป็นจริงสถานะที่ส่งคืนคือ EXIT_SUCCESS หากรหัสเป็นเท็จสถานะที่ส่งคืนคือ EXIT_FAILURE; หากรหัสเป็นตัวเลขสถานะที่ส่งคืนจะเป็นตัวเลขนี้ |
6 | os.getenv (varname) ส่งคืนค่าของตัวแปรสภาพแวดล้อมกระบวนการ varname หรือศูนย์หากไม่ได้กำหนดตัวแปร |
7 | os.remove (filename) ลบไฟล์ (หรือไดเร็กทอรีว่างบนระบบ POSIX) ด้วยชื่อที่กำหนด หากฟังก์ชันนี้ล้มเหลวฟังก์ชันนี้จะคืนค่า nil พร้อมด้วยสตริงที่อธิบายข้อผิดพลาดและรหัสข้อผิดพลาด |
8 | os.rename (oldname, newname) เปลี่ยนชื่อไฟล์หรือไดเร็กทอรีชื่อ oldname เป็น newname หากฟังก์ชันนี้ล้มเหลวฟังก์ชันนี้จะคืนค่า nil พร้อมด้วยสตริงที่อธิบายข้อผิดพลาดและรหัสข้อผิดพลาด |
9 | os.setlocale (locale [, category]) ตั้งค่าภาษาปัจจุบันของโปรแกรม โลแคลเป็นสตริงที่ขึ้นกับระบบที่ระบุโลแคล หมวดหมู่เป็นสตริงที่ไม่บังคับซึ่งอธิบายว่าจะเปลี่ยนหมวดหมู่ใด: "ทั้งหมด" "เรียง" "ctype" "การเงิน" "ตัวเลข" หรือ "เวลา" หมวดหมู่เริ่มต้นคือ "ทั้งหมด" ฟังก์ชันจะส่งคืนชื่อของโลแคลใหม่หรือไม่มีหากไม่สามารถใช้การร้องขอได้ |
10 | os.time ([table]) ส่งคืนเวลาปัจจุบันเมื่อเรียกโดยไม่มีอาร์กิวเมนต์หรือเวลาที่แสดงวันที่และเวลาที่ระบุโดยตารางที่กำหนด ตารางนี้ต้องมีฟิลด์ปีเดือนและวันและอาจมีฟิลด์ชั่วโมง (ค่าเริ่มต้นคือ 12), นาที (ค่าเริ่มต้นคือ 0), วินาที (ค่าเริ่มต้นคือ 0) และ isdst (ค่าเริ่มต้นคือศูนย์) สำหรับคำอธิบายของฟิลด์เหล่านี้โปรดดูที่ฟังก์ชัน os.date |
11 | os.tmpname () ส่งคืนสตริงที่มีชื่อไฟล์ที่สามารถใช้สำหรับไฟล์ชั่วคราว ต้องเปิดไฟล์อย่างชัดเจนก่อนใช้งานและลบออกอย่างชัดเจนเมื่อไม่จำเป็นอีกต่อไป |
ฟังก์ชันระบบปฏิบัติการทั่วไป
ตัวอย่างง่ายๆโดยใช้ฟังก์ชันทางคณิตศาสตร์ทั่วไปแสดงไว้ด้านล่าง
-- Date with format
io.write("The date is ", os.date("%m/%d/%Y"),"\n")
-- Date and time
io.write("The date and time is ", os.date(),"\n")
-- Time
io.write("The OS time is ", os.time(),"\n")
-- Wait for some time
for i=1,1000000 do
end
-- Time since Lua started
io.write("Lua started before ", os.clock(),"\n")
เมื่อเราเรียกใช้โปรแกรมข้างต้นเราจะได้ผลลัพธ์ที่คล้ายกันดังต่อไปนี้
The date is 01/25/2014
The date and time is 01/25/14 07:38:40
The OS time is 1390615720
Lua started before 0.013
ตัวอย่างข้างต้นเป็นเพียงตัวอย่างทั่วไปบางส่วนเราสามารถใช้ไลบรารี OS ตามความต้องการของเราดังนั้นลองใช้ฟังก์ชันทั้งหมดเพื่อให้คุ้นเคย มีฟังก์ชั่นเช่น remove ซึ่งช่วยในการลบไฟล์ execute ที่ช่วยให้เรารันคำสั่ง OS ตามที่อธิบายไว้ข้างต้น