Integer

Em Elixir, integer é um tipo de dado que representa um número inteiro, ou seja, um número sem casas decimais. Em termos de programação, é um tipo de dado que pode ser usado para realizar operações matemáticas que não envolvem números fracionários.

Vamos criar um teste para entender melhor isso:

test/integer_test.exs
defmodule IntegerTest do
  use ExUnit.Case

  test "defining an integer" do
    my_integer = 1652468751356775

    assert is_integer(my_integer) == true
  end
end
mix test test/integer_test.exs
.
Finished in 0.01 seconds (0.00s async, 0.01s sync)
1 test, 0 failures

Podemos também, realizar operações matemáticas:

test/integer_test.exs
defmodule IntegerTest do
  use ExUnit.Case

  # ...
  
  test "math" do
    assert 1 - 1 == 0
    assert 1 + 3 == 4
    assert 1 * 5 == 5
  end
end

Dois valores inteiros quando somados, diminuidos ou multiplicados, tem como resposta um inteiro. Mas uma vez que dividimos esse valor e o valor venha com casas decimais, como por exemplo 5 / 2 = 2.5 temos um tipo de retorno de dado diferente.

test/integer_test.exs
defmodule IntegerTest do
  use ExUnit.Case

  # ...
  
  test "division" do
    x = 5
    y = 2
    
    assert is_integer(x) == true
    assert is_integer(y) == true
    
    result = x / y
    
    assert is_float(result) == true
  end
end

O dada resultante da operação veio com casas decimais, sendo agora do tipo float.

Conclusão

O tipo integer é uma representação flexível de inteiros, que pode ser usada para armazenar inteiros de qualquer tamanho e sinal. Como é implementado usando a biblioteca erlang, os inteiros são de tamanho variável, o que significa que o tamanho do inteiro é determinado automaticamente pelo valor que ele contém.

Last updated