Functies kunnen eigenlijk meer dan één parameter hebben, waardoor meerdere argumenten (stukjes informatie) aan de functie kunnen worden doorgegeven. Een voorbeeld zou kunnen zijn het toewijzen van een speler aan een team. Hier zou je een parameter nodig hebben om de speler door te geven, en een parameter om door te geven aan welk team ze moeten worden toegewezen.
Om meerdere parameters in te stellen, scheid je de parameternamen met een komma.
local function assignTeam(playerName, whichTeam)
endOefenen met meerdere parameters
Om te oefenen met het werken met meerdere parameters, maak je een functie die objecten sorteert in afval of recycling.
- De eerste parameter is afval, dat vernietigd zal worden.
- De tweede parameter is voor recycling, dat weer glanzend en nieuw gemaakt zal worden.
Stel de functie in
Stel eerst de functie in met meerdere parameters en test vervolgens je werk.
- Maak een nieuw script in ServerScriptService.
- Code een nieuwe functie genaamd sortGarbage() met twee parameters, trash en recyclable.
- Roep de functie aan onderaan het script.
- Controleer snel de code tot nu toe met een printstatement binnen de functie.
local function sortGarbage(trash, recyclable)
print("garbage test")
end
sortGarbage()Gebruik meerdere parameters
Binnen de functie kunnen parameters worden gebruikt zoals variabelen. In dit voorbeeld wordt trash vernietigd en krijgt recyclable sprankels met behulp van een Particle Emitter.
Verwijder de printstatement en gebruik Instance.new() om een nieuwe Particle Emitter te maken zoals getoond. Dit zal worden gebruikt om recyclables hun sprankel te geven.
local function sortGarbage(trash,recyclable)-- Maak een nieuwe Particle Emitterlocal sparkle = Instance.new("ParticleEmitter")endsortGarbage()Vernietig wat er door de afvalparameter wordt doorgegeven, net zoals als afval een andere variabele zou zijn.
local function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")-- Vernietig het afvaltrash:Destroy()endsortGarbage()Maak de Particle Emitter een kind van de recyclable.
local function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")-- Vernietig het afval en maak recyclables glanzendtrash:Destroy()sparkle.Parent = recyclableendsortGarbage()
Waarden doorgeven via parameters
Tijd om het afval weg te gooien! Met de parameters ingesteld, zijn de functies klaar om informatie in te nemen.
Maak twee objecten met behulp van basisonderdelen om dingen voor te stellen die je misschien weggooit. Eén moet afval zijn en de andere recyclebaar. Zorg ervoor dat ze unieke namen hebben.
Voeg bovenaan het script variabelen toe voor de objecten die je hebt gemaakt. Dit zullen je argumenten zijn.
local Workspace = game:GetService("Workspace")local cementBlock = Workspace.Cementlocal glassBottle = Workspace.GlassBottleRoep onderaan het script, waar sortGarbage() wordt aangeroepen, elk argument door.
local Workspace = game:GetService("Workspace")-- Objecten om als argumenten te gebruikenlocal cementBlock = Workspace.CementBlocklocal glassBottle = Workspace.GlassBottle-- Vernietigt afval en ruimt recyclables oplocal function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")trash:Destroy()sparkle.Parent = recyclableend-- Geef de argumenten doorsortGarbage(cementBlock, glassBottle)Test je code. Het eerste object dat wordt doorgegeven, zal worden vernietigd. Het tweede object zal sprankelen.
Volgorde van parameters
Typisch worden argumenten gekoppeld aan parameters op basis van de volgorde waarin ze worden doorgegeven. Bijvoorbeeld, het eerste argument wordt gebruikt voor de eerste parameter. Het tweede argument wordt gebruikt voor de tweede.
In ons voorbeeld zijn er twee parameters. Wat er ook als eerste wordt doorgegeven, zal altijd afval zijn, en de tweede zal altijd recyclebaar zijn.
-- Vernietigt afval en ruimt recyclables op
local function sortGarbage(trash,recyclable)
local sparkle = Instance.new("ParticleEmitter")
trash:Destroy()
sparkle.Parent = recyclable
end
-- Gaat in volgorde. Cement wordt vernietigd en de glazen fles wordt gerecycled
sortGarbage(cementBlock, glassBottle)
-- GlassBottle wordt vernietigd en cementBlock wordt gerecycled
sortGarbage(glassBottle, cementBlock)Als je slechts één argument zou doorgeven, zou dat argument als afval worden behandeld. Als je drie argumenten zou doorgeven, zou er niets met het derde argument gebeuren omdat er geen derde parameter is.
Samenvatting
Parameters zijn plaatsaanduidingen waarlangs waarden aan functies kunnen worden doorgegeven. Argumenten zijn de waarden die door de plaatsaanduiding worden doorgegeven. Je kunt meerdere parameters maken door hun namen met komma's te scheiden. Bij het aanroepen van functies bepaalt de volgorde waarin waarden in de ontvangende functie worden doorgegeven, welke parameter ze gebruiken.