Back
Close

Ruby Introduction (Dutch)

PeterDR
2,916 views
Previous: Methods & Objects Next: Classes

Custom Methods

Het is heel eenvoudig om zelf een methode aan te maken. Het definiëren van een methode gaat als volgt:

def naam_van_methode
  # Hier komt de logica
end

Het woord def zorgt er voor dat methode naam_van_methode aangeroepen kan worden, het definieert de methode. In de regels tussen def en end volgt de logica die uitgevoerd moet worden. Bovenstaande logica doet overigens nog niets, de methode wordt namelijk nog niet aangeroepen.

In onderstaande voorbeeld wordt een methode gedefinieerd EN aangeroepen, zodat het resultaat in de output te zien is.

def iphone_x_stock_message
iphone_x_stock = 10
if iphone_x_stock > 0
"De Apple iPhone X is op voorraad"
else
"Helaas! De Apple iPhone X is uitverkocht"
end
end
puts iphone_x_stock_message
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

De methode iphone_x_stock_message kunnen we zovaak gebruiken als we maar willen. Daarnaast kunnen we de methode ook extra waardes meegeven om de bijbehorende logica dynamischer te maken.

def iphone_x_stock_message(iphone_x_stock)
if iphone_x_stock > 0
"De Apple iPhone X is op voorraad"
else
"Helaas! De Apple iPhone X is uitverkocht"
end
end
puts iphone_x_stock_message(5)
puts iphone_x_stock_message(0)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Deze extra waardes (iphone_x_stock) worden arguments genoemd. Het is ook mogelijk om meerdere arguments mee te geven aan een methode.

def stock_message(iphone_x_stock, samsung_s9_stock)
if iphone_x_stock > 0
puts "De Apple iPhone X is op voorraad"
elsif samsung_s9_stock > 0
puts "De Samsung Galaxy S9 is op voorraad"
else
puts "Helaas! Zowel de Apple iPhone X als de Samsung Galaxy S9 zijn tijdelijk uitverkocht"
end
end
puts stock_message(0, 2)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Je kan ook een default instellen voor een argument, zodat je deze bij het aanroepen niet verplicht hoeft mee te geven.

def stock_message(iphone_x_stock, samsung_s9_stock = 2)
if iphone_x_stock > 0
puts "De Apple iPhone X is op voorraad"
elsif samsung_s9_stock > 0
puts "De Samsung Galaxy S9 is op voorraad"
else
puts "Helaas! Zowel de Apple iPhone X als de Samsung Galaxy S9 zijn tijdelijk uitverkocht"
end
end
puts stock_message(0)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

In bovenstaand voorbeeld zie je samsung_s9_stock = 2 staan als argument. Dit zorgt er voor dat als je geen 2e argument hebt opgegeven 2 als default wordt gebruikt.

Methodes zorgen voor structuur en herbruikbaarheid van code. In de volgende stap maken we kennis met classes die uit meerdere methodes bestaan.

Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants