De acordo com Ruby orientado a objeto, as funções e procedimentos são geralmente referidos como métodos. Não há diferença. Nós vamos cobrir métodos com muito mais detalhes quando chegarmos a objetos e classes. Basicamente uma função retorna um valor e um procedimento executa um processo em bloco.
Exemplo:
Neste exemplo criamos uma função que verifica a idade de um individuo e define seu estado acompanhado de um método que imprime um cadastro.
Ruby
# Desenvolvimento Aberto
# blocos.rb
# Função sempre retorna um valor
def identificaIdade(idade)
# Verifica idade
if (idade < 3)
definir = "bebe"
elsif (idade >= 3) and (idade < 13)
definir = "crianca"
elsif (idade >= 13) and (idade < 18)
definir = "adolecente"
else
definir = "adulto"
end
# retorna denição
return definir
end
# Um procedimento executa um bloco de instruções
def imprimeCadastro(nome, idade, sexo)
# Imprime cadatro
puts "nome: " + nome.to_s
puts "idade: " + idade.to_s
puts "sexo: " + sexo.to_s
# Chama a função
puts nome + " foi classificada como: " + identificaIdade(idade.to_i)
end
# executa um procedimento
imprimeCadastro("Eliana", 18, "Feminino")


