Single-Quoted Strings—Lists of Character Codes
Single-quoted strings are represented as a list of integer values, each value corresponding to a codepoint in the string. For this reason, we refer to them as character lists (or char lists).
| iex> str = 'wombat' |
| 'wombat' |
| iex> is_list str |
| true |
| iex> length str |
| 6 |
| iex> Enum.reverse str |
| 'tabmow' |
This is confusing: iex says it is a list, but it shows the value as a string. That’s because iex prints a list of integers as a string if it believes each number in the list is a printable character. You can try this for yourself.
| iex> [ 67, 65, 84 ] |
| 'CAT' |
You can look at the internal representation in a number of ways:
| iex> str = 'wombat' |
| 'wombat' |
| iex> :io.format ... |
Get Programming Elixir now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.