A list of all not symbols and notations of elixir. Tried to have a base for comparision for other programming languages.
- === (strict)
- !== (strict)
- == (relaxed)
- !=
- &&
- ||
- !
-
, >=, <, <=
- +, -, *, /, div, rem
- <> (binary concat)
- ++ (list concat)
- -- (list diff)
- :foo (atom)
- {1, 2} (tple)
- [1, 2, 3] (list)
- [1 | [2, 3]]
- [a: 1, b: 2] (keyword list)
- << 65, 66 >> or "AB" (binary string)
- 1..9 (range)
- fn params [guard] -> body end
- function do params [guard] -> body end
- func.() (calling a anonymous function from a variable)
- &(&1, &2) (closure shortcut)
- def name(params) [guard] do expression end
- def name(params) [guard], do: expression
- parameter // 42 (default parameter)
- defp ... (private function)
- &module.function/arity
- defmodule ...
- require ...
- use ...
- import Module, only: foo, except: bar
- alias Module, as: M
- :erlang.function() (calling a erlang function)
- when [guard] (pattern matching guard)
- lc x inlist list, y inbits binary, x < y, do: ...
- bc ... inbits ..., guard, do: ...
- something, do: ...
- else, rescue, try, ensure
- a |> b() (pipeline operator)
- if expr do ... else ... end
- condition do matcher -> expr end
- case expr do matcher -> expr end
- %r{pattern]opts (regex)
- %type{content} (sigil)
- pid <- message (Sending message)
- receive do matcher -> expression after 42 -> expression end
- _MODULE_
- _FILE_
- _DIR_
- _ENV_
- _CALLER_
Your default parameter slashes (
//
) are backwards - should be\\