FANDOM


Chama-se de Numeric a classe que engloba todos os tipos possíveis de números no RGSS. Em programação, os números são dividos em grupos, afim de se saber quais cálculos devem ser feitos com tais números. Em linguagens de baixo nível o programador tem que tomar um cuidado especial para não misturar tais números, para não haver um erro devido à incompatibilidades, o RGSS faz todas as conversões necessárias para que os cálculos entre quaisquer tipos de números deem certo.

Os números

O RGSS separa os números em duas categorias, sendo que uma delas possui duas subcategorias:

  • Integer - São os números inteiros, que são divididos entre:
    • Fixnum - Números inteiros pequenos (computacionalmente falando), finitos, com maior precisão.
    • Bignum - São números muito grandes, ultrapassando a quantidade de bits que um Integer pode suportar, para lidar com isso, o número é convertido para uma string e é operado de tal forma. Tais números tendem ao infinito, dependendo apenas da memória disponível.
  • Float - Números com ponto flutuante, representa os números racionais e irracionais, ou seja, os números que tenha casas decimais, frações, o conjunto dos reais.

Principais Métodos

Inclui o módulo Comparable.

Método Argumentos Descrição
+@
Retorna self, sem alterações.
-@
Retorna o oposto de self.
<=>
numeric
Retorna zero se self e o argumento forem iguais. Caso contrário, nil. Necessário para incluir o módulo Comparable
abs
Retorna self não negativo.
ceil
Retorna o menor Integer que seja maior ou igual a self.
eql?
numeric
Retorna true se self e numeric tiverem o mesmo valor e mesmo tipo.
floor
Retorna o maior Integer menor ou igual a self.
integer?
Retorna true se self for instância da classe Integer.
nonzero?
Retorna self se self for diferente de zero. Caso contrário, nil.
round
Retorna o Integer mais próximo de self.
step
limit, step
Invoca o bloco associado ao método passando como argumento números iniciando em self e incrementado por step a cada chamada. O ciclo acaba quando o número form maior que limit (se step for positivo) ou menor que limit (se step for negativo).

Principais operações

  • Associar - Associa um valor à uma variável, caso ela ainda não exista é criada automaticamente. Sintáxe:
numero = 0
  • Soma - Soma dois números. Sintáxe:
num2 = 10
num3 = 2
 
num1 = num2 + num3  # 10 mais 12, num1 passa a valer 12
 
num2 += 5           # 10 mais 5, num2 passa a valer 15

Note que escrever "num = num + 2" é equivalente à escrever "num += 2".

  • Subtração - Subtrai um número de outro. Sintáxe:
num = 12
num -= 3   # 12 menos 3, num passa a valer 9
  • Multiplicar - Faz o produto de dois números. Sintáxe:
num1 = 10
num2 = 5
 
num3 = num1 * num2  # 10 vezes 5, num3 passa a valer 50
 
num1 *= 2           # 10 vezes 2, num1 passa a valer 20
  • Dividir - Faz a divisão entre dois números. É importante nesta operação lembrar que a divisão entre dois inteiros, retorna um inteiro. Para que a divisão retorne um valor real (fração) é necessário que pelo menos um dos números na operação seja um float. Sintáxe:
num1 = 10
num2 = 2
 
num3 = num1 / num2   # 10 dividido por 2, num3 passa a valer 5
 
num3 /= 2            # 5 dividido por 2, num3 passa a valer 2
 
num3 = num2 / 4.0    # 2 dividido por 4.0, num3 passa a valer 0.5
 
num2 /= 3.0          # 2 dividido por 3.0, num2 passa a valer 0.666...
  • Módulo - Retorna o resto da divisão de dois números. Sintáxe:
num1 = 10
num2 = 5
 
num3 = 10 % 5     # O resto de 10 dividido por 5, num3 passa a valer 0 (zero)
 
num2 %= 2         # O resto de 5 dividido por 2, num2 passa a valer 1
 
num1 %= 4         # O resto de 10 dividido por 4, num1 passa a valer 2
 
num = 2.1 % 0.5   # O resto de 2.1 dividido por 0.5, num passa a valer 0.1
  • Potência - Eleva um número à uma certa potência. Sintáxe:
num = 5**2        # 5 elevado ao quadrado, num passa a valer 25
 
num = 3**3        # 3 elevado ao cubo, num passa a valer 27
  • Conversões - Converte manualmente um tipo de número para outro:
    • Para inteiro - Converte um número para um inteiro, removendo a parte decimal, se o número já for um inteiro, nada acontece. Sintáxe:
num1 = 34.25
 
num1 = num1.to_i          # 34.25 para inteiro, num1 passa a valer 34
 
num1 = num1.to_i          # 34 para inteiro, num1 continua valendo 34
 
num1 = (32.0 / 10.0).to_i # 32.0 dividido por 10.0, para inteiro, num1 passa a valer 3
    • Para real - Converte um número inteiro para um decimal, adicionando uma casa decimal (zero), se o número já for real, nada acontece. Sintáxe:
num = 32
 
num = num.to_f    # 32 para real, num passa a valer 32.0
 
num = num.to_f    # 32.0 para real, num continua valendo 32.0
 
num = 5 / 2.to_f  # 5 dividido por (2 para real = 2.0), num passa a valer 2.5
  • Valor absoluto - Retorna o valor absoluto de uma expressão ou de um número, ou seja, o resultado sem o sinal de negativo caso ele exista. Sintáxe:
num1 = -208
 
num = (10 + num1).abs    # 10 mais -208, absoluto, num passa a valer 198
 
num -= 200               # 198 menos 200, num passa a valer -2
 
num = num.abs + num1.abs # -2 absoluto mais -208 absoluto, num passa a valer 210

Todos os métodos da classe numeric podem ser encontrados no Ruby-Doc

Ligações externas

Wiki letter w.svg Este artigo é um esboço. Você pode ajudar a Makerpédia expandindo-o.  Editor: considere marcar com um esboço mais específico.

Interferência de bloqueador de anúncios detectada!


A Wikia é um site grátis que ganha dinheiro com publicidade. Nós temos uma experiência modificada para leitores usando bloqueadores de anúncios

A Wikia não é acessível se você fez outras modificações. Remova o bloqueador de anúncios personalizado para que a página carregue como esperado.

Outras wikis da Wikia

Wiki aleatória