String Literals
Learn about strings, heredocs, and sigils of different types in detail.
We'll cover the following...
We'll cover the following...
Strings
Elixir has two kinds of strings: single-quoted and double-quoted. They differ significantly in their internal representation. But they also have many things in common. For example, see the following:
- Strings can hold characters in UTF-8 encoding.
- They may contain escape sequences:
`\a` BEL (0x07) `\e` ESC (0x1b) `\v` VT (0x0b) `\b` BS (0x08) `\f` FF (0x0c) `\s` SP (0x20) `\d` DEL (0x7f) `\n` NL (0x0a) `\t` TAB (0x09) `\r` CR (0x0d) `\xhh` 2 hex digits `\uhhh` 1–6 hex digits - They allow interpolation on Elixir expressions using the syntax
#{...}:iex> name = "dave" "Dave" iex> "Hello, #{String.capitalize name}!" "Hello, Dave!" - Characters that would otherwise have special meaning can be escaped with a backslash.
- They support heredocs.
Heredocs
Any string can span several lines. To illustrate this, we’ll use both IO.puts and IO.write. We use ...