ภาษา 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/ (ถ้าใจร้อนไปอ่านที่นี่ต่อก่อนก็ได้)