<commit_before>---
version: 1.2.0
title: Básico
---

Primeiros Passos, tipos básicos e operações básicas.

{% include toc.html %}

## Primeiros Passos

### Instalando Elixir

As instruções para instalação em cada sistema operacional podem ser encontradas em [Elixir-lang.org](http://elixir-lang.org) na aba [Install](http://elixir-lang.org/install.html).

Após instalar o Elixir, você pode facilmente confirmar a versão instalada.

    % elixir -v
    Erlang/OTP {{ site.erlang.OTP }} [erts-{{ site.erlang.erts }}] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

    Elixir {{ site.elixir.version }}

### Modo Interativo

Elixir vem com IEx, um console interativo, que nos permite avaliar expressões em Elixir.

Para iniciar, executamos `iex`:

    Erlang/OTP {{ site.erlang.OTP }} [erts-{{ site.erlang.erts }}] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

    Interactive Elixir ({{ site.elixir.version }}) - press Ctrl+C to exit (type h() ENTER for help)
    iex>

Podemos testar e digitar algumas expressões simples:

```elixir
iex> 2+3
5
iex> 2+3 == 5
true
iex> String.length("The quick brown fox jumps over the lazy dog")
43
```

Não se preocupe se não entender cada expressão ainda, mas esperamos que você compreenda a ideia.

## Tipos Básicos

### Inteiros

```elixir
iex> 255
255
```

O suporte para números binários, octais e hexadecimais também estão inclusos:

```elixir
iex> 0b0110
6
iex> 0o644
420
iex> 0x1F
31
```

### Pontos Flutuantes

Em Elixir, os números de ponto flutuante requerem um decimal depois de pelo menos um dígito; estes possuem uma precisão de 64 bits e suportam `e` para números exponenciais:

```elixir
iex> 3.14
 3.14
iex> .14
** (SyntaxError) iex:2: syntax error before: '.'
iex> 1.0e-10
1.0e-10
```


### Booleanos

Elixir suporta `true` e `false` como booleanos; todo valor é verdadeiro com excessão de `false` e `nil`:

```elixir
iex> true
true
iex> false
false
```
<commit_msg>[pt] Fix typo: excessão should be exceção (#1956)<commit_after>---
version: 1.2.0
title: Básico
---

Primeiros Passos, tipos básicos e operações básicas.

{% include toc.html %}

## Primeiros Passos

### Instalando Elixir

As instruções para instalação em cada sistema operacional podem ser encontradas em [Elixir-lang.org](http://elixir-lang.org) na aba [Install](http://elixir-lang.org/install.html).

Após instalar o Elixir, você pode facilmente confirmar a versão instalada.

    % elixir -v
    Erlang/OTP {{ site.erlang.OTP }} [erts-{{ site.erlang.erts }}] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

    Elixir {{ site.elixir.version }}

### Modo Interativo

Elixir vem com IEx, um console interativo, que nos permite avaliar expressões em Elixir.

Para iniciar, executamos `iex`:

    Erlang/OTP {{ site.erlang.OTP }} [erts-{{ site.erlang.erts }}] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

    Interactive Elixir ({{ site.elixir.version }}) - press Ctrl+C to exit (type h() ENTER for help)
    iex>

Podemos testar e digitar algumas expressões simples:

```elixir
iex> 2+3
5
iex> 2+3 == 5
true
iex> String.length("The quick brown fox jumps over the lazy dog")
43
```

Não se preocupe se não entender cada expressão ainda, mas esperamos que você compreenda a ideia.

## Tipos Básicos

### Inteiros

```elixir
iex> 255
255
```

O suporte para números binários, octais e hexadecimais também estão inclusos:

```elixir
iex> 0b0110
6
iex> 0o644
420
iex> 0x1F
31
```

### Pontos Flutuantes

Em Elixir, os números de ponto flutuante requerem um decimal depois de pelo menos um dígito; estes possuem uma precisão de 64 bits e suportam `e` para números exponenciais:

```elixir
iex> 3.14
 3.14
iex> .14
** (SyntaxError) iex:2: syntax error before: '.'
iex> 1.0e-10
1.0e-10
```


### Booleanos

Elixir suporta `true` e `false` como booleanos; todo valor é verdadeiro com exceção de `false` e `nil`:

```elixir
iex> true
true
iex> false
false
```

{'fraction_non_alphanumeric': 0.13234932349323494, 'fraction_numerical': 0.03690036900369004, 'mean_word_length': 4.186224489795919, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 29, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1524743', 'n_tokens_mistral': 1744, 'n_tokens_neox': 1611, 'n_words': 499}