Ruby:
Organizando o código em funções
Como fazer:
Imagine que você está escrevendo um script rápido para cumprimentar usuários:
def cumprimentar(nome)
"Olá, #{nome}!"
end
puts cumprimentar("Alice") # Saída: Olá, Alice!
puts cumprimentar("Bob") # Saída: Olá, Bob!
Ou talvez você esteja calculando a área de um círculo:
def area_circulo(raio)
Math::PI * raio ** 2
end
puts area_circulo(5) # Saída: 78.53981633974483
Mais organizado e fácil de lidar, certo?
Aprofundamento
O conceito de funções, também conhecido como métodos em Ruby, não é novidade — é tão antigo quanto a programação em si. Retornando aos anos 1950, as sub-rotinas, como eram conhecidas, foram introduzidas para reduzir a redundância.
Alternativas? Claro, você tem o código inline, poderia adotar a POO com classes e objetos, ou até mesmo funcional com lambdas e procs. Mas as funções são a base de um código ordenado. Quer desempenho? Variáveis locais em funções são rápidas e as funções podem retornar valores imediatamente com return
.
Em termos de implementação, você pode definir uma função com def
e terminá-la com end
. Você pode definir parâmetros padrão, usar operadores splat para funções variádicas e mais. As funções podem ser tão simples ou complexas quanto você desejar.