ตัวแปร

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ตัวแปร (variable) คือชื่อที่ถือค่าหนึ่งค่า ค่าในตัวแปรสามารถเป็น ตัวเลข, สตริง, บูลีน, ประเภทข้อมูล, และอื่นๆ

ตั้งชื่อตัวแปร

ชื่อตัวแปรสามารถเป็นสตริงที่ไม่ถูกสงวนซึ่งประกอบด้วยตัวอักษร, ตัวเลข, และขีดล่างที่ไม่เริ่มต้นด้วยตัวเลข

LETTERS -- ถูกต้อง
a1 -- ถูกต้อง
var_name -- ถูกต้อง
_test -- ถูกต้อง
if -- ไม่ถูกต้อง
25th -- ไม่ถูกต้อง

ชื่อตัวแปรมี ความไวต่อการพิมพ์ ดังนั้น TestVar และ TESTVAR จึงเป็นชื่อที่แตกต่างกัน หลีกเลี่ยงการตั้งชื่อตัวแปรด้วยขีดล่างและตัวอักษรทั้งหมดเป็นตัวพิมพ์ใหญ่ เช่น _VERSION เพราะ Luau อาจสงวนชื่อเหล่านี้ไว้สำหรับตัวแปรทั่วไประดับโลก

แนวทางปฏิบัติที่ดีที่สุด

แนวทางปฏิบัติที่ดีที่สุดคือการสะกดคำให้ครบถ้วน โดยทั่วไปแล้วการย่อคำทำให้เขียนโค้ดได้ง่ายขึ้น แต่ทำให้อ่านได้ยากขึ้น การปฏิบัติตามแนวทางการตั้งชื่อที่เป็นที่นิยมเมื่อคุณตั้งชื่อตัวแปรสามารถช่วยให้คุณและผู้อื่นเข้าใจความหมายหรือวัตถุประสงค์ของมันได้:

  • ใช้ชื่อ PascalCase สำหรับคลาสและวัตถุที่คล้าย enum
  • ใช้ชื่อ PascalCase สำหรับ API ของ Roblox ทั้งหมด API ที่ใช้ camelCase ส่วนใหญ่จะถูกยกเลิก
  • ใช้ชื่อ camelCase สำหรับตัวแปรท้องถิ่น, ค่าของสมาชิก, และ ฟังก์ชัน
  • ใช้ชื่อ LOUD_SNAKE_CASE สำหรับค่าคงที่ เช่น ค่าของ const หรือค่าที่คุณไม่คาดว่าจะ เปลี่ยนแปลง
  • อย่าตัวพิมพ์ใหญ่ทั้งตัวย่อภายในชื่อ ตัวอย่างเช่น เขียนว่า 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

ตัวแปรสามารถมี ขอบเขต ทั่วไประดับโลก หรือ ท้องถิ่น โดยค่าเริ่มต้นจะมีขอบเขตทั่วไประดับโลก แต่โดยทั่วไปแล้วการสร้างตัวแปรด้วยขอบเขตท้องถิ่นจะดีกว่าเพราะ Luau เข้าถึงตัวแปรท้องถิ่นได้เร็วกว่าตัวแปรทั่วไประดับโลก เพื่อให้ตัวแปรมีขอบเขตท้องถิ่น ให้ใส่คำสำคัญ local ก่อนชื่อของตัวแปรเมื่อคุณกำหนดค่าให้กับมัน หากต้องการให้มีขอบเขตท้องถิ่นและป้องกันการกำหนดค่าใหม่ ให้ใช้ const แทน local สำหรับข้อมูลเพิ่มเติม ดูที่ ขอบเขต

local nilVar
local x = 10
local word = "Hello"
local boolean = true
print(nilVar) -- nil
print(x) -- 10
print(word) -- Hello
print(boolean) -- true

กำหนดค่าให้กับตัวแปรหลายตัว

คุณสามารถกำหนดค่าให้กับตัวแปรหลายตัวในบรรทัดเดียวโดยการแยกแต่ละคู่ตัวแปร-ค่าออกด้วยเครื่องหมายจุลภาค หากคุณมีตัวแปรมากกว่าค่า Luau จะกำหนดค่า nil ให้กับตัวแปรที่เกิน หากคุณมีค่ามากกว่าตัวแปร Luau จะไม่กำหนดค่าที่เกินให้กับตัวแปรใดๆ

local a, b, c = 1, 2, 3
local d, e, f = 4, 5 -- ตัวแปรเพิ่มเติม
local g, h = 7, 8, 9 -- ค่าที่เพิ่มเติม
print(a, b, c) -- 1, 2, 3
print(d, e, f) -- 4, 5, nil
print(g, h) -- 7, 8

เปลี่ยนค่า

ในการเปลี่ยนค่าของตัวแปร ให้กำหนดค่าใหม่ให้กับมัน

local x, y = 10, 20
print(x) -- 10
print(y) -- 20
x = 1000
y = 2000
print(x) -- 1000
print(y) -- 2000

ตัวแปรคงที่

ในการสร้างตัวแปรที่คุณไม่สามารถกำหนดค่าใหม่ได้ ให้ใช้ const แทน local การพยายามกำหนดค่าตัวแปร const ใหม่จะทำให้เกิดข้อผิดพลาด รวมถึงการใช้ ตัวดำเนินการกำหนดค่าผสม เช่น +=

const MAX_HEALTH = 100
MAX_HEALTH = 50 -- ข้อผิดพลาด: ไม่สามารถกำหนดค่าตัวแปร const ใหม่ได้
MAX_HEALTH += 1 -- ข้อผิดพลาด: ไม่สามารถกำหนดค่าตัวแปร const ใหม่ได้

เช่นเดียวกับ local, const ยอมรับ การระบุประเภท เช่น const MAX_HEALTH: number = 100

คุณยังสามารถประกาศฟังก์ชันด้วย const ซึ่งจะป้องกันการกำหนดชื่อของฟังก์ชันใหม่

const function addOneAndTwo()
local result = 1 + 2
print(result)
end
addOneAndTwo = nil -- ข้อผิดพลาด: ไม่สามารถกำหนดค่าตัวแปร const ใหม่ได้

const ทำให้ตัวแปรนั้นไม่สามารถเปลี่ยนแปลงได้ แต่ไม่ใช่ค่าที่มันถืออยู่ หากตัวแปร const ถือ ตาราง คุณยังสามารถเปลี่ยนเนื้อหาของตารางได้ หากต้องการทำให้เนื้อหานั้นไม่สามารถเปลี่ยนแปลงได้เช่นกัน ให้ใช้ table.freeze()

const SETTINGS = { volume = 0 }
SETTINGS.volume = 1 -- ถูกต้อง, เปลี่ยนค่าภายในตาราง
SETTINGS = {} -- ข้อผิดพลาด: ไม่สามารถกำหนดค่าตัวแปร const ใหม่ได้

แตกต่างจากคำสำคัญใน ชื่อที่สงวนไว้ const เป็นบริบท Luau จะถือว่าเป็นคำสำคัญเฉพาะที่ local เป็นคำที่ถูกต้อง ดังนั้นโค้ดที่มีอยู่ที่ใช้ const เป็นชื่อของตัวแปรยังคงทำงานได้

local const = 1
print(const) -- 1
const = 2 -- ถูกต้อง, `const` เป็นชื่อของตัวแปรที่นี่

สำหรับข้อมูลเพิ่มเติมและกรณีขอบเขต ดูที่ เอกสาร Luau.

©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ