Ruby: números & booleans
O curso trata de como o Ruby lida com números e booleanos. Começa pela diferença entre Integer e Float, pelo que acontece quando os dois se misturam na aritmética e pelas conversões entre eles. Depois explica a divisão inteira e o operador %, por que 0.1 + 0.2 dá 0.30000000000000004 e como guardar dinheiro em centavos inteiros ou BigDecimal. As aulas seguintes mostram métodos como round, abs e even?, os valores true e false e a regra de truthiness do Ruby. Um desafio final junta tudo num método de média.
O que você vai aprender
- ✓A diferença entre Integer e Float e as conversões com to_f e to_i
- ✓Como funcionam a divisão inteira e o operador %
- ✓Por que floats são imprecisos e como compará-los ou guardá-los com segurança
- ✓O uso de round, ceil, floor, abs, even?, odd? e zero?
- ✓Booleanos como objetos gerados por operadores de comparação
- ✓A regra de truthiness do Ruby, em que só false e nil são falsy
Integer e float: dois tipos de número
5 e 5.0 são o mesmo valor na matemática. No Ruby, são tipos diferentes de objeto.
Ler a aula completa grátis →Currículo
7 aulasInteger e float: dois tipos de número
Apresenta Integer e Float, mostra que aritmética mista gera Float e como to_f e to_i convertem valores.
Divisão inteira: o gotcha clássico
Mostra por que dividir dois Integer descarta a fração, como obter resultado fracionário e o que % devolve.
Precisão de float: por que 0.1 + 0.2 não é bem 0.3
Explica por que 0.1 + 0.2 difere de 0.3 e como comparar floats e guardar dinheiro com segurança.
Métodos numéricos: ferramentas embutidas
Apresenta round, ceil, floor, abs, even?, odd? e zero? como métodos prontos para perguntas numéricas comuns.
Valores boolean: true, false e nada mais
Mostra true e false como objetos de TrueClass e FalseClass, produzidos em geral por operadores de comparação.
Truthiness: o que conta como "verdadeiro o bastante"
Explica que todo valor Ruby é truthy, exceto false e nil, inclusive 0, strings vazias e arrays vazios.
Juntando tudo: um pequeno desafio
Junta conversão, divisão e comparação num método average e num método passing? que devolve um booleano.