Funkcje mogą mieć więcej niż jeden parametr, co pozwala na przekazywanie wielu argumentów (informacji) do funkcji. Przykładem może być przypisanie gracza do zespołu. W tym przypadku potrzebujesz parametru, aby przekazać gracza, oraz parametru, aby określić, do którego zespołu go przypisać.
Aby skonfigurować wiele parametrów, oddziel nazwy parametrów przecinkiem.
local function assignTeam(playerName, whichTeam)
end
Ćwiczenie z wieloma parametrami
Aby ćwiczyć pracę z wieloma parametrami, stwórz funkcję, która sortuje obiekty na śmieci lub recykling.
- Pierwszy parametr będzie śmieciami, które zostaną zniszczone.
- Drugi parametr będzie dla recyklingu, który zostanie ponownie lśniący i nowy.
Ustaw funkcję
Najpierw skonfiguruj funkcję z wieloma parametrami, a następnie przetestuj swoją pracę.
- Utwórz nowy skrypt w ServerScriptService.
- Napisz nową funkcję nazwaną sortGarbage() z dwoma parametrami, trash i recyclable.
- Na końcu skryptu, wywołaj funkcję.
- Szybko sprawdź kod do tej pory, używając instrukcji print wewnątrz funkcji.
local function sortGarbage(trash, recyclable)
print("garbage test")
end
sortGarbage()
Użyj wielu parametrów
We wnętrzu funkcji, parametry mogą być używane podobnie do zmiennych. W tym przykładzie śmieci są niszczone, a następnie materiały nadające się do recyklingu dostają błyski za pomocą emitera cząstek.
Usuń instrukcję print i użyj Instance.new(), aby utworzyć nowy emiter cząstek, jak pokazano. To będzie używane do nadawania świecącego efektu materiałom nadającym się do recyklingu.
local function sortGarbage(trash,recyclable)-- Utwórz nowy emiter cząsteklocal sparkle = Instance.new("ParticleEmitter")endsortGarbage()Zniszcz cokolwiek, co zostanie przekazane przez parametr śmieci w taki sam sposób, jakby śmieci były jakąkolwiek inną zmienną.
local function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")-- Zniszcz śmiecitrash:Destroy()endsortGarbage()Ustal rodzica emitera cząstek na materiale nadającym się do recyklingu.
local function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")-- Zniszcz śmieci i spraw, by materiały nadające się do recyklingu lśniłytrash:Destroy()sparkle.Parent = recyclableendsortGarbage()
Przekazywanie wartości przez parametry
Czas na wyniesienie śmieci! Z parametrami ustawionymi, funkcje są gotowe na przyjmowanie informacji.
Utwórz dwa obiekty używając podstawowych części, aby reprezentować rzeczy, które możesz wyrzucić. Jeden powinien być śmieciem, a drugi materiałem do recyklingu. Upewnij się, że mają unikalne nazwy.
Na początku skryptu, dodaj zmienne dla obiektów, które stworzyłeś. To będą twoje argumenty.
local Workspace = game:GetService("Workspace")local cementBlock = Workspace.Cementlocal glassBottle = Workspace.GlassBottleNa końcu skryptu, tam gdzie wywoływana jest sortGarbage(), przekaż każdy argument.
local Workspace = game:GetService("Workspace")-- Obiekty do użycia jako argumentylocal cementBlock = Workspace.CementBlocklocal glassBottle = Workspace.GlassBottle-- Niszczy śmieci i porządkuje materiały nadające się do recyklingulocal function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")trash:Destroy()sparkle.Parent = recyclableend-- Przekaż argumentysortGarbage(cementBlock, glassBottle)Przetestuj swój kod. Obiekt przekazany jako pierwszy zostanie zniszczony. Drugi obiekt będzie lśnił.
Kolejność parametrów
Typowo, argumenty są dopasowywane do parametrów na podstawie kolejności, w jakiej są przekazywane. Na przykład, pierwszy argument jest używany dla pierwszego parametru. Drugi argument jest używany dla drugiego.
W naszym przykładzie są dwa parametry. Cokolwiek zostanie przekazane jako pierwsze zawsze będzie śmieciami, a drugie zawsze będzie materiałem nadającym się do recyklingu.
-- Niszczy śmieci i porządkuje materiały nadające się do recyklingu
local function sortGarbage(trash,recyclable)
local sparkle = Instance.new("ParticleEmitter")
trash:Destroy()
sparkle.Parent = recyclable
end
-- Działa w kolejności. Cement jest zniszczony, a butelka szklana jest recyklowana
sortGarbage(cementBlock, glassBottle)
-- Butelka szklana jest zniszczona, a blok cementowy jest recyklowany
sortGarbage(glassBottle, cementBlock)
Jeśli przekażesz tylko jeden argument, ten argument zostanie potraktowany jako śmieci. Jeśli przekażesz trzy argumenty, nic się nie stanie z trzecim argumentem, ponieważ nie ma trzeciego parametru.
Podsumowanie
Parametry są miejscami, przez które wartości mogą być przekazywane do funkcji. Argumenty to wartości, które są przekazywane przez te miejsca. Możesz tworzyć wiele parametrów, oddzielając ich nazwy przecinkami. Podczas wywoływania funkcji, kolejność, w jakiej wartości są przekazywane do funkcji docelowej, określa, który parametr jest używany.