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")