ฟังก์ชันสามารถมีพารามิเตอร์มากกว่าหนึ่งตัว ซึ่งช่วยให้ส่งอาร์กิวเมนต์ (ข้อมูลหลายชิ้น) เข้าไปในฟังก์ชันได้ ตัวอย่างเช่น อาจจะเป็นการมอบหมายผู้เล่นให้กับทีม ในที่นี้คุณจะต้องมีพารามิเตอร์เพื่อส่งผู้เล่นเข้าไป และพารามิเตอร์เพื่อส่งทีมที่ต้องการมอบหมายให้กับเขา
ในการตั้งค่าพารามิเตอร์หลายตัว ให้แยกชื่อพารามิเตอร์ด้วยเครื่องหมายจุลภาค
local function assignTeam(playerName, whichTeam)
end
ฝึกฝนกับพารามิเตอร์หลายตัว
เพื่อฝึกการทำงานกับพารามิเตอร์หลายตัว ให้สร้างฟังก์ชันที่จัดเรียงวัตถุไปยังถังขยะหรือนำกลับมาใช้ใหม่
- พารามิเตอร์ แรก จะเป็นถังขยะ ซึ่งจะถูกทำลาย
- พารามิเตอร์ สอง จะใช้สำหรับการนำกลับมาใช้ใหม่ ซึ่งจะถูกทำให้ดูใหม่และวาววับอีกครั้ง
ตั้งค่าฟังก์ชัน
ตั้งค่าฟังก์ชันด้วยพารามิเตอร์หลายตัว จากนั้นทดสอบงานของคุณ
- สร้างสคริปต์ใหม่ใน ServerScriptService
- เขียนฟังก์ชันใหม่ชื่อ sortGarbage() ที่มีพารามิเตอร์สองตัว คือ trash และ recyclable
- ที่ด้านล่างของสคริปต์ ให้เรียกใช้ฟังก์ชัน
- ตรวจสอบโค้ดจนถึงตอนนี้โดยใช้คำสั่ง print ภายในฟังก์ชัน
local function sortGarbage(trash, recyclable)
print("garbage test")
end
sortGarbage()
ใช้พารามิเตอร์หลายตัว
ภายในฟังก์ชัน พารามิเตอร์สามารถใช้ได้คล้ายกับตัวแปร ในตัวอย่างนี้ trash จะถูกทำลายและ recyclable จะได้รับประกายแสงโดยใช้ Particle Emitter
ลบคำสั่ง print และใช้ Instance.new() เพื่อสร้าง Particle Emitter ใหม่ตามที่แสดง นี่จะถูกใช้เพื่อให้วัตถุที่สามารถนำกลับมาใช้ใหม่มีประกายแสง
local function sortGarbage(trash,recyclable)-- สร้าง Particle Emitter ใหม่local sparkle = Instance.new("ParticleEmitter")endsortGarbage()ทำลายสิ่งที่ถูกส่งผ่านพารามิเตอร์ขยะเหมือนกับว่าถังขยะเป็นตัวแปรอื่น ๆ
local function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")-- ทำลายถังขยะtrash:Destroy()endsortGarbage()ปลากย Parent ให้ Particle Emitter ไปยังวัตถุที่สามารถนำกลับมาใช้ใหม่
local function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")-- ทำลายถังขยะและทำให้วัตถุที่สามารถนำกลับมาใช้ใหม่ดูวาวtrash:Destroy()sparkle.Parent = recyclableendsortGarbage()
ส่งค่าไปผ่านพารามิเตอร์
ถึงเวลาทำความสะอาดถังขยะ! ด้วยพารามิเตอร์ที่ตั้งค่าไว้ ฟังก์ชันก็พร้อมรับข้อมูลแล้ว
สร้างวัตถุสองชิ้นโดยใช้ชิ้นส่วนพื้นฐานเพื่อแทนสิ่งที่คุณอาจทิ้งไป หนึ่งชิ้นควรเป็นขยะและอีกชิ้นควรเป็นวัสดุที่สามารถนำกลับมาใช้ใหม่ ตรวจสอบให้แน่ใจว่ามีชื่อที่ไม่ซ้ำกัน
ที่ด้านบนของสคริปต์ ให้เพิ่มตัวแปรสำหรับวัตถุที่คุณสร้างขึ้น ซึ่งจะเป็นอาร์กิวเมนต์ของคุณ
local Workspace = game:GetService("Workspace")local cementBlock = Workspace.Cementlocal glassBottle = Workspace.GlassBottleที่ด้านล่างของสคริปต์ที่ sortGarbage() ถูกเรียก ให้ส่งอาร์กิวเมนต์แต่ละตัวเข้าไป
local Workspace = game:GetService("Workspace")-- วัตถุที่จะใช้เป็นอาร์กิวเมนต์local cementBlock = Workspace.CementBlocklocal glassBottle = Workspace.GlassBottle-- ทำลายขยะและทำความสะอาดวัสดุที่นำกลับมาใช้ใหม่local function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")trash:Destroy()sparkle.Parent = recyclableend-- ส่งอาร์กิวเมนต์sortGarbage(cementBlock, glassBottle)ทดสอบโค้ดของคุณ วัตถุที่ถูกส่งเข้ามาก่อนจะถูกทำลาย วัตถุที่สองจะมีประกายแสง
ลำดับของพารามิเตอร์
โดยทั่วไปแล้ว อาร์กิวเมนต์จะถูกจับคู่กับพารามิเตอร์ตามลำดับที่ส่งเข้าไป ตัวอย่างเช่น อาร์กิวเมนต์แรกจะถูกใช้กับพารามิเตอร์แรก อาร์กิวเมนต์ที่สองจะถูกใช้กับพารามิเตอร์ที่สอง
ในตัวอย่างของเรา มีพารามิเตอร์สองตัว สิ่งที่ถูกส่งเข้ามาก่อนจะถูกนับว่าเป็นขยะ และสิ่งที่สองจะถูกนับว่าเป็นวัสดุที่สามารถนำกลับมาใช้ใหม่เสมอ
-- ทำลายขยะและทำความสะอาดวัสดุที่สามารถนำกลับมาใช้ใหม่
local function sortGarbage(trash,recyclable)
local sparkle = Instance.new("ParticleEmitter")
trash:Destroy()
sparkle.Parent = recyclable
end
-- จัดลำดับ Cement จะถูกทำลายและขวดแก้วจะถูกนำกลับมาใช้ใหม่
sortGarbage(cementBlock, glassBottle)
-- ขวดแก้วถูกทำลายและ CementBlock จะถูกนำกลับมาใช้ใหม่
sortGarbage(glassBottle, cementBlock)
ถ้าคุณส่งเข้าไปเพียงหนึ่งอาร์กิวเมนต์ อาร์กิวเมนต์นั้นจะถูกถือว่าเป็นขยะ ถ้าคุณส่งเข้าไปสามอาร์กิวเมนต์ จะไม่มีอะไรเกิดขึ้นกับอาร์กิวเมนต์ที่สามเพราะไม่มีพารามิเตอร์ที่สาม
สรุป
พารามิเตอร์เป็นหมายที่ที่สามารถใช้ส่งค่าเข้าไปในฟังก์ชัน อาร์กิวเมนต์เป็นค่าที่ถูกส่งผ่านหมายที่นั้น คุณสามารถสร้างพารามิเตอร์หลายตัวโดยการแยกชื่อตามจุลภาค เมื่อเรียกใช้ฟังก์ชัน ลำดับที่ค่าจะถูกส่งเข้าไปในฟังก์ชันที่รับค่าจะกำหนดว่าพารามิเตอร์ใดที่พวกเขาจะใช้