Abstrações
Em Ruby tudo é baseado em objetos,logo não diferencia abstrações de função de abstrações de procedimento.
Exemplo de um método em Ruby:
def metodo(x)
x = x + 1
end
Em Ruby o retorno do método é o ultimo comando ou utiliza-se o comando return. Logo na função acima o método método(x) irá retornar x + 1;
Todos os parâmetros são passados por cópia da referência.
Exemplos:
1º) Observe que retornará o mesmo endereço.
texto = “alo mundo”
puts texto.object_id
#impresso = 22787410
def escreveEndereco(x)
x.object_id
end
puts escreveEndereco(texto)
#impresso = 22787410
2º) Observe que a variável passada por parâmetro será modificada
texto = “alo mundo”
puts texto.object_id
#impresso = 22787410
def maiuscula(x)
x.upcase!
end
puts maiuscula(texto)
#impresso = “ALO MUNDO”
puts texto
#impresso = “ALO MUNDO”
Ruby não viola o Princípio da Correspondência, pois “tudo” são objetos, pode-se passar qualquer coisa como parâmetro de uma abstração.
Em Ruby a avaliação é estrita, isto é, cada conjunto de parâmetros de uma abstração são avaliados apenas uma vez.
Deixe um comentário