Skip to content

Latest commit

 

History

History
90 lines (69 loc) · 2.88 KB

basic-types.markdown

File metadata and controls

90 lines (69 loc) · 2.88 KB
section layout title
getting-started
getting-started
Tipos de datos básicos

En este capítulo vamos a aprender más sobre los tipos de datos básicos de Elixir: integers (números enteros), floats (números flotantes), booleans (booleanos), atoms (símbolos), strings (cadenas de texto), lists (listas) y tuples (tuplas). Usaremos estos términos en inglés para no confundir la nomenclatura. Algunos tipos básicos son:

iex> 1          # integer
iex> 0x1F       # integer
iex> 1.0        # float
iex> true       # boolean
iex> :atom      # atom / symbol
iex> "elixir"   # string
iex> [1, 2, 3]  # list
iex> {1, 2, 3}  # tuple

Aritmética básica

Ejecuta iex y tipea las siguientes expresiones:

iex> 1 + 2
3
iex> 5 * 5
25
iex> 10 / 2
5.0

Puedes notar que 10 / 2 retornó un float 5.0 en vez de un integer 5. Esto se debe a que el operador / siempre retorna un float. Si lo que deseas es retornar el entero o el remanente, puedes usar las funciones div y rem:

iex> div(10, 2)
5
iex> div(10, 2)
5
iex> rem 10, 3
1

Habrás advertido que Elixir permite no usar paréntesis cuando se llaman funciones con al menos un argumento. Sin embargo preferimos usar siempre paréntesis.

Elixir también permite notaciones especiales para los binary (binarios), octal (octales) y hexadecimal numbers (números hexadecimales):

iex> 0b1010
10
iex> 0o777
511
iex> 0x1F
31

Los números float deben tener un punto, seguido por al menos un dígito, y permiten e como anotación científica:

iex> 1.0
1.0
iex> 1.0e-10
1.0e-10

Los floats en Elixir son de doble precisión, con 64-bits.

Puedes usar la función round para obtener el integer más cercano a un float, o la función trunc para obtener el integer del float.

iex> round(3.58)
4
iex> trunc(3.58)
3

Identificación y documentación de las funciones

Las funciones en Elixir se identifican por su nombre y su aridad. La aridad de una función describe el número de argumentos que permite la función. De ahora en adelante, usaremos el nombre y la aridad para descrubur las funciones en la documentación. trunc/1 identifica la función llamada trunc que permite 1 argumento, en cambio trunc/2 describe otra función (que no existe), con el mismo nombre pero con aridad 2.

Podemos usar esta sintaxis para acceder a la documentación. La consola de Elixir define la función h que permite revisar la documentación de cualquier función. Por ejemplo si escribes h trunc/1 se imprimirá en pantalla la documentación de trunc/1:

iex> h trunc/1
                             def trunc()

Returns the integer part of number.

h trunc/1 funciona porque está definida en el módulo Kernel (Kernel.h/1). Todas las funciones en el módulo Kernel son importadas automáticamente a nuestro namespace. $WIP