Ruby:
Code organiseren in functies
Hoe te:
Stel je voor dat je een snel script schrijft om gebruikers te begroeten:
def greet(name)
"Hallo, #{name}!"
end
puts greet("Alice") # Uitvoer: Hallo, Alice!
puts greet("Bob") # Uitvoer: Hallo, Bob!
Of misschien bereken je de oppervlakte van een cirkel:
def circle_area(radius)
Math::PI * radius ** 2
end
puts circle_area(5) # Uitvoer: 78.53981633974483
Netter en gemakkelijker te hanteren, toch?
Diepgaand
Het concept van functies, ook bekend als methoden in Ruby, is niet nieuw - het is zo oud als programmeren zelf. Terugkerend naar de jaren 1950, werden subroutines, zoals ze bekend waren, geïntroduceerd om redundantie te verminderen.
Alternatieven? Zeker, je hebt inline code, je kunt OOP gaan met klassen en objecten, of zelfs functioneel met lambdas en procs. Maar functies zijn de basis van ordelijke code. Wil je prestaties? Lokale variabelen in functies zijn snel en functies kunnen direct waarden retourneren met return
.
Wat implementatie betreft, je kunt een functie definiëren met def
en beëindigen met end
. Je kunt standaardparameters instellen, gebruik maken van splat-operatoren voor variadische functies, en meer. Functies kunnen zo eenvoudig of complex zijn als je hart begeert.