A ตัวแปร คือ ชื่อที่ถือค่าไว้ ค่าในตัวแปรสามารถเป็น หมายเลข, สตริง, บูลีน, ประเภทข้อมูล, และอื่นๆ
ตั้งชื่อตัวแปร
ชื่อของตัวแปรสามารถเป็นสตริงที่ไม่สงวนซึ่งประกอบด้วยตัวอักษร ตัวเลข และอันเดอร์สกอร์ โดยไม่เริ่มต้นด้วยตัวเลข
LETTERS -- ถูกต้องa1 -- ถูกต้องvar_name -- ถูกต้อง_test -- ถูกต้องif -- ไม่ถูกต้อง25th -- ไม่ถูกต้อง
ชื่อของตัวแปรมี การแยกตัวพิมพ์ใหญ่ ดังนั้น TestVar และ TESTVAR เป็นชื่อที่แตกต่างกัน หลีกเลี่ยงการตั้งชื่อตัวแปรโดยใช้ อันเดอร์สกอร์ และตัวอักษรตัวใหญ่ทั้งหมด เช่น _VERSION เนื่องจาก Luau อาจสงวนชื่อเหล่านี้สำหรับตัวแปรภายในระดับโลก
แนวทางปฏิบัติที่ดีที่สุด
แนวทางที่ดีที่สุดคือการสะกดคำให้สมบูรณ์ โดยทั่วไปแล้วคำย่อจะทำให้การเขียนโค้ดง่ายขึ้น แต่ทำให้การอ่านยากขึ้น การปฏิบัติตามแนวทางการตั้งชื่อที่พบบ่อยเมื่อสร้างตัวแปรสามารถช่วยให้คุณและผู้อื่นเข้าใจความหมายหรือวัตถุประสงค์ของพวกเขา:
- ใช้ชื่อ PascalCase สำหรับคลาสและออบเจ็กต์ที่คล้ายกับ enum
- ใช้ชื่อ PascalCase สำหรับ Roblox APIs ทั้งหมด โดย APIs แบบ camelCase จะถูกยกเลิกเป็นส่วนใหญ่
- ใช้ชื่อ camelCase สำหรับตัวแปรท้องถิ่น ค่าองค์ประกอบ และ ฟังก์ชัน
- ใช้ชื่อ LOUD_SNAKE_CASE สำหรับคอนสแตนต์ท้องถิ่น (ตัวแปรที่มีค่าที่คุณไม่คาดว่าจะ เปลี่ยนแปลง)
- ไม่ต้องเขียนตัวย่อทั้งหมดเป็นตัวพิมพ์ใหญ่ในชื่อ ตัวอย่างเช่น เขียน aJsonVariable หรือ MakeHttpCall
ชื่อที่สงวนไว้
Luau สงวนคำสำคัญต่อไปนี้ ดังนั้นคุณไม่สามารถใช้พวกมันในการตั้งชื่อตัวแปรหรือ ฟังก์ชัน:
- and
- for
- or
- break
- function
- repeat
- do
- if
- return
- else
- in
- then
- elseif
- local
- true
- end
- nil
- until
- false
- not
- while
กำหนดค่า
ในการสร้างตัวแปรและกำหนดค่าให้กับมัน ให้ใช้ตัวดำเนินการ = วางตัวแปรไว้ทางซ้ายของ = และค่าที่ด้านขวา หากคุณไม่ใส่ค่า ค่าจะเป็น nil
ตัวแปรสามารถมี ขอบเขต ทั่วไปหรือ ท้องถิ่น scopes โดยค่าเริ่มต้นจะมีขอบเขตทั่วไป แต่แทบจะดีกว่าที่จะสร้างมันด้วยขอบเขตท้องถิ่น เนื่องจาก Luau เข้าใช้งานตัวแปรท้องถิ่นได้เร็วกว่าตัวแปรทั่วไป เพื่อให้ตัวแปรมีขอบเขตท้องถิ่น ให้ใช้คีย์เวิร์ด local ก่อนชื่อของตัวแปรเมื่อคุณกำหนดค่าให้กับมัน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Scope ใน Luau โปรดดูที่ Scope
local nilVarlocal x = 10local word = "Hello"local boolean = trueprint(nilVar) -- nilprint(x) -- 10print(word) -- Helloprint(boolean) -- true
กำหนดค่าให้กับตัวแปรหลายตัว
คุณสามารถกำหนดค่าให้กับตัวแปรหลายตัวในบรรทัดเดียวโดยการแยกแต่ละคู่ตัวแปร-ค่า ด้วยลูกน้ำ หากคุณมีตัวแปรมากกว่าค่า Luau จะกำหนดค่า nil ให้กับตัวแปรที่เกิน ถ้าคุณมีค่ามากกว่าตัวแปร Luau จะไม่กำหนดค่าที่เกินให้กับตัวแปรใดๆ
local a, b, c = 1, 2, 3local d, e, f = 4, 5 -- ตัวแปรเพิ่มเติมlocal g, h = 7, 8, 9 -- ค่าที่เพิ่มเติมprint(a, b, c) -- 1, 2, 3print(d, e, f) -- 4, 5, nilprint(g, h) -- 7, 8
เปลี่ยนค่า
ในการเปลี่ยนค่าของตัวแปร ให้กำหนดค่าใหม่ให้กับมัน
local x, y = 10, 20print(x) -- 10print(y) -- 20local x = 1000local y = 2000print(x) -- 1000print(y) -- 2000