- The iex prompt
- Strings
- "REPL"
- Simple maths
- Variables
- String interpolation
- Why lists?
- List syntax
- Lists over multiple lines
- Why maps?
- Map syntax
[]
-- accessing a value from a map- A list containing maps
- "Anonymous" function definitions
- Calling anonymous functions
.()
- Multiple argument functions
- Calling functions with wrong number of arguments
- Running code with "Elixir"
-
TODO: Show [head | tail] example with just a single head element.
-
TODO: Redo complex pattern matching within a list, move 1 up to include whole map
-
Left + Right have to be equal
-
List pattern matching
[head | tail]
-
Map pattern matching by key
-
Map + list combo pattern matching
-
Pattern matching inside functions
-
Matching maps inside functions
-
Matching anything
- Recap
- Reversing a string
- Splitting a string
- Replacing parts of a string
- Upcase
- Downcase
- Gets
- Puts
- String.trim/1
- What is immutability?
- List.first/1
- List.last/1
- What the "/1" at the end of a function means
- The Enum module
- Enum.reverse/1
- Enum.each/2
- Enum.map/2
- BYO functions
- Enum.reduce/2
- Enum.sum/1
- Enum.filter/2
- Enum.find/2
- Enum.each/2, with a map
- Tuple syntax
- Enum.map/2, with a map
- Enum.into/2
- The pipe operator
- Map.get/2
- Map.put/3
- Map.delete/2
- IO module
- Reading files
- Writing files
- Deleting files
- Atoms
- Tuples
- Case
- If / Unless
- Cond
- With
- h + v helpers in iex prompt
- Tab complete
- Elixir docs link
- Elixir school
- Why should we use modules?
- Person module example
- Demonstrate how to define modules
- Structs within modules
- Public vs. Private functions
- Introduction to Mix, similar in approach to the official guide, but using concepts just from this book. No agents.
- Cover ExUnit, including DocTests
- Link to other resources, like Programming Elixir
THOUGHT: Is this too advanced for a beginners book?
THOUGHT: Is this too advanced also?