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ę.