Ruby:
Organizacja kodu w funkcje

Jak to zrobić:

Wyobraź sobie, że piszesz prosty skrypt, który wita użytkowników:

def greet(name)
  "Witaj, #{name}!"
end

puts greet("Alicja")   # Wyjście: Witaj, Alicja!
puts greet("Bartek")    # Wyjście: Witaj, Bartek!

A może obliczasz powierzchnię koła:

def circle_area(radius)
  Math::PI * radius ** 2
end

puts circle_area(5)   # Wyjście: 78.53981633974483

Ładniej i łatwiej się z tym pracuje, prawda?

Bardziej szczegółowo

Koncepcja funkcji, znanych również jako metody w Ruby, nie jest nowa - jest tak stara jak samo programowanie. Wracając do lat 50-tych, podprogramy, jak były nazywane, zostały wprowadzone aby redukować redundancję.

Alternatywy? Jasne, masz kod wbudowany, możesz zastosować OOP z klasami i obiektami, albo pójść w kierunku programowania funkcyjnego z lambdami i procs. Ale funkcje są podstawą uporządkowanego kodu. Chcesz wydajności? Lokalne zmienne w funkcjach działają szybko, a funkcje mogą natychmiast zwracać wartości za pomocą return.

Jeśli chodzi o implementację, możesz zdefiniować funkcję za pomocą def i zakończyć ją słowem end. Możesz ustawić parametry domyślne, użyć operatorów splat dla funkcji o zmiennej liczbie argumentów i więcej. Funkcje mogą być tak proste lub skomplikowane, na jakie tylko masz ochotę.

Zobacz również