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.

Zie Ook