ภาษา Lua คืออะไร
เผื่อคุณยังไม่รู้ มันคือภาษาโปรแกรมภาษานึงแหละ ที่เป็นแบบแปลคำสั่งแล้วทำงานเป็นบรรทัดๆไป โดยไม่ต้องคอมไพล์และแปลให้เป็นภาษาเครื่องก่อน จุดเด่นของมันก็คือเร็วส์ ยืดหยุ่น ง่าย และไม่ยากในการศึกษา (ไม่ใช่อันเดียวกันกับ “ง่าย” เหรอ)
สิ่งที่จำเป็นต้องรู้เกี่ยวกับภาษา Lua อย่างเช่น รูปแบบคำสั่ง โอเปอเรเตอร์ ฟังก์ชันต่างๆ
--[[
นี่คือคอมเม้นต์
แบบบหลายบรรทัด
--]]
if state == 5 then
doSomething() -- นี่คือคอมเม้นต์ในบรรทัด
elseif foo then
a = true
else
b = false
end
ตัวแปรและประเภทของตัวแปร
ก็เหมือนกับภาษาแบบสคริปต์โดยทั่วไป คือ มันไม่มีชนิดของตัวแปรหรอก แปลว่าเราสามารถตั้งค่าให้ตัวแปรได้เลย อย่างเช่น
var = value
แต่มันก็มีการตั้งค่าให้แบบ global และ local นะ เหมือนภาษาอื่นๆแหละ แถมเราตั้งค่าให้มันทั้งหมดในรวดเดียวแบบนี้ได้เลย

คำสงวนที่ต้องระวัง ในภาษา Lua มีคำสงวนที่ต้องระวังในการใช้ คำพวกนี้ก็มี nil ซึ่งหมายถึงทั้งตัวแปรที่ไม่ได้ตั้งค่า (undefined) และตัวแปรที่ไม่มีค่า (null) อีกคำสงวนคือ false และ true เวลาใช้ false ใน statement ให้ระวังเพราะใน Lua มีแค่ 2 อันที่เท่ากับ false คือ nil กับ false ที่เหลือทั้งหมดคือ true

โอเปอเรเตอร์

- พวก and or หรือ not ก็ตามตัวเลย
- สัญลักษณ์ “ไม่เท่ากับ” คือ ~=
- .. เอาไว้เชื่อม string
- ^ คือเอาไว้ยกกำลัง (ไม่ใช่ binary XOR)
- # เอาไว้นับความยาวของ tables และ strings (บทต่อไปนะ)
Loop
while
i = 1
while i <= 5 do
i = i + 1
print(i)
end
repeat
i = 1
repeat
i = i + 1
print(i)
until i == 10
for
x = 1
for i = 1, 10, 2 do
x = x * i
print(x)
end
การจบ loop
while true do
if condition then
x = x ^ 2
else
break
end
end
Functions
function foo() local x, y = something(4, 5) return x ^ y end function something(arg1, arg2) local ret1 = (arg1 * arg2) ^ 2 local ret2 = (arg1 - arg2) ^ 2 return ret1 + ret2, ret1 * ret2 end
src: http://nova-fusion.com/2012/08/27/lua-for-programmers-part-1/ (ถ้าใจร้อนไปอ่านที่นี่ต่อก่อนก็ได้)