Módulo Math
A documentação do Ruby é cheio de módulos, alguns bastante interessantes, outros cruciais como o Kernel. Hoje iremos falar um pouquinho sobre especificamente o módulo Math, trigonometria, raiz quadrada, indo
bem mais além dos simples métodos da classe Integer.
Antes de mais nada...
Como invocar um método de um módulo?Sabemos claramente que, para invocar um método de uma classe, chamamo-as em forma de mensagem:
- Código:
-
Class.metodo
Para os módulos, não é diferente (lembre-se que apenas muda para se acessar o valor de uma variável :: )
Raiz quadrada:Óh, raiz quadrada! A raiz quadrada de em um número que, multiplicado por ele mesmo, chega-se ao original.
Do inglês
square root. Sua syntaxe é:
- Código:
-
Math.sqrt(numero)
Seno:Todo mundo que sabe um pouco de trigonometria sabe o que é seno. Ele é razão entre o Cateto Oposto e a Hipotenusa.
Sua syntax é:
- Código:
-
Math.sin(angulo)
Coseno:É a razão entre o cateto adjacente e a hipotenusa. Sua syntax é:
- Código:
-
Math.cos(angulo)
Tangente:É o coeficiente de um ângulo. Sua syntax é:
- Código:
-
Math.tan(angulo)
Logaritimo:É uma forma de calcular um expoente através de sua base. Sua syntax é:
- Código:
-
Math.log(numero)
Logaritimo de Base 10: - Código:
-
Math.log10(numero)
Hipotenusa:Calcula a hipotenusa de um triângulo-retângulo:
- Código:
-
Math.hypot(catetoa, catetob)
O seu cálculo é feito da seguinte forma:
- Código:
-
module Math
def hypot(x, y)
return sqrt(x ** 2 + y ** 2)
end
end
Lembrando que o sinal de ** é potênciação. Agora, porque colocamos apenas
sqrt ao invés de
Math.sqrt?
Lembre-se: Quando estamos dentro da estrutura, não se predece o nome, pois é
self.
Métodos comuns compartilhados entre Integer e Float:+, -, *, / (integer = módulo), **, abs (converte o número em seu valor absoluto), % (resto), next (sucessor)...
Quanto ao sinal de /, coloquei integer = módulo pois, quando está relacionada a classe Integer, ela retorna um quociente inteiro, e é por isso que existe o %, para retornar o valor do resto da divisão.
Bom pessoal. Por enquanto é isso. Espero que os matemáticos tenham gostado da aula, agora podem trabalhar tranquilamente com o maker sem precisar de abrir a calculadora cientifica toda hora! XD~~
Até a próxima... o/