Hàm có thể có nhiều tham số, cho phép nhiều đối số (mẩu thông tin) được truyền vào hàm. Một ví dụ có thể là gán một người chơi vào một đội. Ở đây, bạn sẽ cần một tham số để truyền vào người chơi, và một tham số để truyền vào đội mà bạn muốn gán họ cho.
Để thiết lập nhiều tham số, hãy tách tên tham số bằng dấu phẩy.
local function assignTeam(playerName, whichTeam)
end
Thực hành với nhiều tham số
Để thực hành làm việc với nhiều tham số, hãy tạo một hàm sắp xếp các đối tượng vào thùng rác hoặc tái chế.
- Tham số thứ nhất sẽ là rác, sẽ bị tiêu hủy.
- Tham số thứ hai sẽ dành cho tái chế, sẽ được làm sáng bóng và mới lại.
Thiết lập hàm
Đầu tiên, thiết lập hàm với nhiều tham số và sau đó kiểm tra công việc của bạn.
- Tạo một script mới trong ServerScriptService.
- Viết một hàm mới tên là sortGarbage() với hai tham số, trash và recyclable.
- Ở cuối script, gọi hàm.
- Nhanh chóng kiểm tra mã cho đến nay bằng cách sử dụng một câu lệnh print bên trong hàm.
local function sortGarbage(trash, recyclable)
print("garbage test")
end
sortGarbage()
Sử dụng nhiều tham số
Bên trong hàm, các tham số có thể được sử dụng giống như biến. Trong ví dụ này, trash sẽ bị tiêu hủy và sau đó recyclable sẽ được thêm ánh sáng lấp lánh bằng cách sử dụng một Particle Emitter.
Xóa câu lệnh print, và sử dụng Instance.new() để tạo một Particle Emitter mới như được trình bày bên dưới. Điều này sẽ được sử dụng để làm cho các đồ vật tái chế có ánh sáng lấp lánh.
local function sortGarbage(trash,recyclable)-- Tạo một Particle Emitter mớilocal sparkle = Instance.new("ParticleEmitter")endsortGarbage()Hủy bỏ bất cứ thứ gì được truyền vào qua tham số rác giống như cách mà rác là bất kỳ biến nào khác.
local function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")-- Hủy bỏ ráctrash:Destroy()endsortGarbage()Gán Particle Emitter cho đối tượng có thể tái chế.
local function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")-- Hủy bỏ rác và làm cho các đồ vật tái chế sáng bóngtrash:Destroy()sparkle.Parent = recyclableendsortGarbage()
Truyền giá trị qua tham số
Đến lúc dọn dẹp rác rồi! Với các tham số đã được thiết lập, các hàm đã sẵn sàng để nhận thông tin.
Tạo hai đối tượng bằng các bộ phận cơ bản để đại diện cho những thứ bạn có thể vứt đi. Một cái nên là rác và một cái tái chế. Đảm bảo rằng chúng có tên duy nhất.
Ở đầu script, thêm các biến cho các đối tượng bạn đã tạo. Đây sẽ là các đối số của bạn.
local Workspace = game:GetService("Workspace")local cementBlock = Workspace.Cementlocal glassBottle = Workspace.GlassBottleỞ cuối script, nơi gọi sortGarbage(), truyền vào từng đối số.
local Workspace = game:GetService("Workspace")-- Các đối tượng dùng làm đối sốlocal cementBlock = Workspace.CementBlocklocal glassBottle = Workspace.GlassBottle--Hủy bỏ rác và dọn dẹp các đồ vật tái chếlocal function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")trash:Destroy()sparkle.Parent = recyclableend-- Truyền vào các đối sốsortGarbage(cementBlock, glassBottle)Kiểm tra mã của bạn. Đối tượng được truyền vào đầu tiên sẽ bị tiêu hủy. Đối tượng thứ hai sẽ lấp lánh.
Thứ tự của các tham số
Thông thường, các đối số được đối chiếu với các tham số dựa trên thứ tự mà chúng được truyền vào. Ví dụ, đối số đầu tiên được sử dụng cho tham số đầu tiên. Đối số thứ hai được sử dụng cho tham số thứ hai.
Trong ví dụ của chúng ta, có hai tham số. Bất cứ thứ gì được truyền vào đầu tiên sẽ luôn là rác, và thứ hai sẽ luôn là có thể tái chế.
--Hủy bỏ rác và dọn dẹp các đồ vật tái chế
local function sortGarbage(trash,recyclable)
local sparkle = Instance.new("ParticleEmitter")
trash:Destroy()
sparkle.Parent = recyclable
end
--Đi theo thứ tự. Xi măng bị tiêu hủy và chai kính được tái chế
sortGarbage(cementBlock, glassBottle)
--ChaiKính bị tiêu hủy và cementBlock được tái chế
sortGarbage(glassBottle, cementBlock)
Nếu bạn chỉ truyền vào một đối số, đối số đó sẽ được coi là rác. Nếu bạn truyền vào ba đối số, thì không có gì sẽ xảy ra với đối số thứ ba vì không có tham số thứ ba.
Tóm tắt
Các tham số là các vị trí giữ chỗ qua đó các giá trị có thể được truyền vào các hàm. Các đối số là những giá trị được truyền qua vị trí giữ chỗ. Bạn có thể tạo nhiều tham số bằng cách tách tên của chúng bằng dấu phẩy. Khi gọi các hàm, thứ tự mà các giá trị được truyền vào hàm nhận sẽ xác định tham số mà chúng được sử dụng.