This post works best when paired with the Elixir docs for a general overview of Atoms and Integers.

### What is an Elixir Atom?

It is an Elixir data type thats value is its own name.

### What is an Elixir Atom used for?

They are often used to indicate the result of an operation either as the first value of a tuple or as a standalone response. `:ok`

is often used to indicate a successful operation and `:error`

is used if something goes wrong.

```
{:ok, result} = some_function()
:ok = some_other_function()
```

### What is special about the values true, false and nil as they relate to atoms?

Each of those data types are atoms. Elixir allows you to skip typing the colon (:) for these atoms. Ex:

```
true == :true
=> true
nil == :nil
=> true
false == :false
=> true
```

### Which data type represents whole numbers in Elixir Integer or Float?

`Integer`

. `Float`

is used for fractional numbers.

### The Kernel and Integer module each define integer functions. What integer functions does the Kernel define?

`abs/1`

, `div/2`

, `min/2`

, `max/2`

, `rem/2`

. These are all arithmetic based functions.

### What functions does the Integer module define?

`is_env`

and `is_odd`

. These are most often used as Guards in Elixir.

```
Integer.is_even(12)
=> true
Integer.is_odd(12)
=> false
```

More Elixir Decks: