Até agora, todos os exercícios que você viu usaram classes.
Às vezes não precisamos da sobrecarga de criar um objeto com estado, então em vez disso usamos module.
Um módulo é muito parecido com uma classe (na verdade, Module é o pai de Class na hierarquia de objetos), e a principal diferença é que, em vez de usar métodos de instância, usamos métodos de classe.
Os métodos de classe começam com self. e são chamados diretamente em um módulo.
Por exemplo:
module Speaker
def self.echo(something)
"#{something} ... #{something}"
end
end
Speaker.echo("Hello") #=> "Hello ... Hello"
Há várias formas de escrever laços em Ruby, mas como tendemos a usar enumeração em vez de laços de modo geral, talvez o laço mais comum seja o laço while:
counter = 0
while counter < 5
counter += 1
end
Você também pode usar o until, que é o irmão dele.
counter = 0
until counter == 5
counter += 1
end
Neste exercício, você vai trabalhar com contas poupança. A cada ano, o saldo de uma conta poupança é atualizado com base na taxa de juros. A taxa de juros que o banco oferece depende da quantidade de dinheiro na conta (o saldo dela):
1000 dólares.1000 dólares e menor que 5000 dólares.5000 dólares.Você tem três tarefas, e cada uma delas envolve o saldo e a taxa de juros.
Implemente o método SavingsAccount.interest_rate para calcular a taxa de juros com base no saldo informado:
SavingsAccount.interest_rate(200.75)
#=> 0.5
Repare que o valor retornado é uma instância de Float.
Implemente o método SavingsAccount.annual_balance_update para calcular a atualização anual do saldo, levando em conta a taxa de juros:
SavingsAccount.annual_balance_update(200.75)
#=> 201.75375
Repare que o valor retornado é uma instância de Float.
Implemente o método SavingsAccount.years_before_desired_balance para calcular o número mínimo de anos necessários para atingir o saldo desejado:
SavingsAccount.years_before_desired_balance(200.75, 214.88)
#=> 14
Repare que o valor retornado é uma instância de Integer.
Crie sua conta no Exercism para aprender e dominar Ruby com 21 conceitos121 exercícios e mentoria humana de verdade, tudo de graça.