Functies zijn sets van instructies die meerdere keren in een script kunnen worden gebruikt. Er zijn kant-en-klare functies (ook wel methoden genoemd) zoals print() en task.wait() die in de meeste programmeertalen zijn ingebouwd. Programmeurs kunnen ook hun eigen aangepaste functies maken voor code die ze meer dan eens willen gebruiken, maar niet steeds opnieuw willen schrijven. In Luau doe je dit door te typen: local function naamVanDeFunctie()
Functies kunnen worden gezien als een recept. Het zijn beide lijsten van specifieke instructies. Bijvoorbeeld, je zou een functie kunnen gebruiken om een robot te leren hoe je spaghetti maakt. Maak eerst een local function die de stappen om de maaltijd voor te bereiden opsomt. Dan, wanneer je zin hebt in het avondeten, zeg je gewoon: "Robot, voer makeSpaghetti() uit".
De stappen om het avondeten te maken kunnen er als volgt uitzien:
- Kook water
- Voeg pasta toe
- Kook 15 minuten
- Voeg saus toe
- Serveer op een bord
Terwijl de codeversie er ongeveer zo uit kan zien:
local function maakAvondeten()
-- Lijst van instructies
end
-- Vertel de code om uit te voeren
maakAvondeten()Maak een functie
Om te oefenen, zal je eerste functie je favoriete eten in het Output-venster afdrukken. Stel eerst het script in dat je gaat gebruiken, als je niet meer weet hoe, hier is een herinnering:
- Maak een nieuw script in ServerScriptService.
- Hernoem het script naar FunctiesOefening.
- Verwijder "Hello World".
- Voeg een opmerking bovenaan toe. Bijvoorbeeld: -- Drukt je favoriete eten af
Vervolgens maak je de functie en geef je deze een naam. Alle functies moeten namen hebben die je helpen herinneren wat hun doel is. Functienamen zijn camelCased, met de eerste letter in kleine letters en de volgende woorden met een hoofdletter.
Voorbeelden: voegPuntenToe(), herstartSpel(), regenVlammenLama's()
- Typ local function printEten(), druk vervolgens op Enter op je toetsenbord. Het zou de functie automatisch moeten aanvullen zodat het eruitziet als:
local function printEten()
endVoeg code toe aan functies
Alle code voor je functie moet tussen de regels local function printEten() en end worden getypt. Elke code die niet tussen deze twee punten staat, zal niet worden uitgevoerd wanneer de functie wordt aangeroepen.
local function printEten()
-- Code hier draait wanneer de functie wordt aangeroepen
end
-- Code hier zal niet draaienInformatie die binnen de functie staat, of die door de functie kan worden gebruikt, is in scope.
- Tussen local function printEten() en end, gebruik print() om je favoriete eten te vermelden.
local function printEten()
print("Curry!")
endVertel de functie om uit te voeren
Er is nog één ding dat we moeten doen voordat de functie werkt, en dat is om het te vertellen om uit te voeren, ook wel aanroepen van een functie genoemd. Functies worden pas uitgevoerd als ze worden aangeroepen. Om een functie aan te roepen, typ je de naam van de functie inclusief de ().
Onder end, typ printEten().
local function printEten()print("Curry!")endprintEten()Test de code. Je favoriete eten zou moeten verschijnen in het Output venster.
Probleemoplossing tips
Als je code niet draait, controleer dan op fouten zoals de volgende:
- Controleer of print("Je Eten Hier") tussen local function printEten() en end staat.
- Zorg ervoor dat je eten een string is, met aanhalingstekens aan beide zijden van "elk kant".
- Controleer of de functie wordt aangeroepen nadat deze is gemaakt. printEten() zou onder end moeten staan.