Lua - ไวยากรณ์พื้นฐาน
เริ่มสร้างโปรแกรม Lua โปรแกรมแรกของเรากันเถอะ!
โปรแกรม Lua แรก
การเขียนโปรแกรมโหมดโต้ตอบ
Lua มีโหมดที่เรียกว่าโหมดโต้ตอบ ในโหมดนี้คุณสามารถพิมพ์คำแนะนำทีละคำสั่งและรับผลลัพธ์ทันที สิ่งนี้สามารถเรียกใช้ในเชลล์โดยใช้คำสั่ง lua -i หรือเพียงแค่คำสั่ง lua เมื่อคุณพิมพ์สิ่งนี้แล้วให้กด Enter จากนั้นโหมดโต้ตอบจะเริ่มทำงานดังที่แสดงด้านล่าง
$ lua -i
$ Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
quit to end; cd, dir and edit also available
คุณสามารถพิมพ์บางสิ่งโดยใช้คำสั่งต่อไปนี้ -
print("test")
เมื่อคุณกด Enter คุณจะได้ผลลัพธ์ดังต่อไปนี้ -
test
การเขียนโปรแกรมโหมดเริ่มต้น
การเรียกใช้ล่ามด้วยพารามิเตอร์ชื่อไฟล์ Lua จะเริ่มต้นการเรียกใช้ไฟล์และดำเนินต่อไปจนกว่าสคริปต์จะเสร็จสิ้น เมื่อสคริปต์เสร็จสิ้นล่ามจะไม่ทำงานอีกต่อไป
ให้เราเขียนโปรแกรม Lua ง่ายๆ ไฟล์ Lua ทั้งหมดจะมีนามสกุล. lua ดังนั้นใส่ซอร์สโค้ดต่อไปนี้ในไฟล์ test.lua
print("test")
สมมติว่าสภาพแวดล้อม lua ได้รับการตั้งค่าอย่างถูกต้องให้รันโปรแกรมโดยใช้รหัสต่อไปนี้ -
$ lua test.lua
เราจะได้ผลลัพธ์ดังต่อไปนี้ -
test
ลองใช้วิธีอื่นในการรันโปรแกรม Lua ด้านล่างนี้คือไฟล์ test.lua ที่แก้ไขแล้ว -
#!/usr/local/bin/lua
print("test")
ที่นี่เราได้สันนิษฐานว่าคุณมีล่าม Lua อยู่ในไดเร็กทอรี / usr / local / bin ของคุณ บรรทัดแรกจะถูกละเว้นโดยล่ามหากเริ่มต้นด้วยเครื่องหมาย # ตอนนี้ลองเรียกใช้โปรแกรมนี้ดังนี้ -
$ chmod a+rx test.lua
$./test.lua
เราจะได้ผลลัพธ์ดังต่อไปนี้
test
ตอนนี้ให้เราดูโครงสร้างพื้นฐานของโปรแกรม Lua เพื่อให้คุณเข้าใจโครงสร้างพื้นฐานของภาษาโปรแกรม Lua ได้ง่าย
โทเค็นในลัวะ
โปรแกรม Lua ประกอบด้วยโทเค็นต่างๆและโทเค็นอาจเป็นคีย์เวิร์ดตัวระบุค่าคงที่สตริงลิเทอรัลหรือสัญลักษณ์ ตัวอย่างเช่นคำสั่ง Lua ต่อไปนี้ประกอบด้วยโทเค็นสามรายการ -
io.write("Hello world, from ",_VERSION,"!\n")
โทเค็นแต่ละรายการคือ -
io.write
(
"Hello world, from ",_VERSION,"!\n"
)
ความคิดเห็น
ความคิดเห็นเป็นเหมือนข้อความช่วยในโปรแกรม Lua ของคุณและล่ามจะไม่สนใจ เริ่มต้นด้วย - [[และลงท้ายด้วยอักขระ -]] ดังที่แสดงด้านล่าง -
--[[ my first program in Lua --]]
ตัวระบุ
ตัวระบุ Lua คือชื่อที่ใช้เพื่อระบุตัวแปรฟังก์ชันหรือรายการที่ผู้ใช้กำหนดอื่น ๆ ตัวระบุเริ่มต้นด้วยตัวอักษร 'A ถึง Z' หรือ 'a ถึง z' หรือขีดล่าง '_' ตามด้วยตัวอักษรศูนย์หรือมากกว่าขีดล่างและตัวเลข (0 ถึง 9)
Lua ไม่อนุญาตให้ใช้อักขระเครื่องหมายวรรคตอนเช่น @, $ และ% ภายในตัวระบุ ลัวะคือกcase sensitiveภาษาโปรแกรม ดังนั้นกำลังคนและกำลังคนจึงเป็นตัวบ่งชี้สองตัวที่แตกต่างกันในลัวะ นี่คือตัวอย่างบางส่วนของตัวระบุที่ยอมรับได้ -
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
คำหลัก
รายการต่อไปนี้แสดงคำสงวนสองสามคำใน Lua ห้ามใช้คำสงวนเหล่านี้เป็นค่าคงที่หรือตัวแปรหรือชื่อตัวระบุอื่นใด
และ | หยุดพัก | ทำ | อื่น |
อื่น ๆ | จบ | เท็จ | สำหรับ |
ฟังก์ชัน | ถ้า | ใน | ท้องถิ่น |
ศูนย์ | ไม่ | หรือ | ทำซ้ำ |
กลับ | แล้ว | จริง | จนถึง |
ในขณะที่ |
ช่องว่างใน Lua
บรรทัดที่มีเพียงช่องว่างอาจมีความคิดเห็นเรียกว่าบรรทัดว่างและล่าม Lua ไม่สนใจมันโดยสิ้นเชิง
Whitespace เป็นคำที่ใช้ใน Lua เพื่ออธิบายช่องว่างแท็บอักขระขึ้นบรรทัดใหม่และความคิดเห็น ช่องว่างจะแยกส่วนหนึ่งของคำสั่งออกจากอีกส่วนหนึ่งและช่วยให้ล่ามระบุตำแหน่งที่องค์ประกอบหนึ่งในคำสั่งเช่น int สิ้นสุดลงและองค์ประกอบถัดไปจะเริ่มต้น ดังนั้นในข้อความต่อไปนี้ -
local age
ต้องมีอักขระช่องว่างอย่างน้อยหนึ่งตัว (โดยปกติจะเป็นช่องว่าง) ระหว่างท้องถิ่นและอายุเพื่อให้ล่ามสามารถแยกแยะได้ ในทางกลับกันในข้อความต่อไปนี้ -
fruit = apples + oranges --get the total fruit
ไม่จำเป็นต้องใช้อักขระเว้นวรรคระหว่างผลไม้และ = หรือระหว่าง = และแอปเปิ้ลแม้ว่าคุณจะมีอิสระที่จะใส่อักขระบางตัวหากต้องการเพื่อจุดประสงค์ในการอ่าน