From 2070ffa7c5c02829e07270ff349d17546480244b Mon Sep 17 00:00:00 2001 From: jbranchaud Date: Mon, 27 Jun 2016 07:44:44 -0500 Subject: [PATCH] Add Word Lists For Atoms as an elixir til --- README.md | 3 ++- elixir/word-lists-for-atoms.md | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 elixir/word-lists-for-atoms.md diff --git a/README.md b/README.md index c0f6432..26f39d8 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ variety of languages and technologies. These are things that don't really warrant a full blog post. These are mostly things I learn by pairing with smart people at [Hashrocket](http://hashrocket.com/). -_438 TILs and counting..._ +_439 TILs and counting..._ --- @@ -86,6 +86,7 @@ _438 TILs and counting..._ - [Expose Internal Representation](elixir/expose-internal-representation.md) - [List Functions For A Module](elixir/list-functions-for-a-module.md) - [Replace Duplicates In A Keyword List](elixir/replace-duplicates-in-a-keyword-list.md) +- [Word Lists For Atoms](elixir/word-lists-for-atoms.md) ### Git diff --git a/elixir/word-lists-for-atoms.md b/elixir/word-lists-for-atoms.md new file mode 100644 index 0000000..207a685 --- /dev/null +++ b/elixir/word-lists-for-atoms.md @@ -0,0 +1,34 @@ +# Word Lists For Atoms + +The `~w` sigil works similarly to Ruby's `%w` (word array notation). It +allows you to create a list of words (namely, strings). + +```elixir +~w(one two three) +["one", "two", "three"] +``` + +It sets itself apart though with some modifiers. The default behavior +matches the `s` modifier (for strings). + +```elixir +> ~w(one two three)s +["one", "two", "three"] +``` + +Where it gets more interesting is with the `a` modifier allowing you to +create a list of atoms. + +```elixir +> ~w(one two three)a +[:one, :two, :three] +``` + +Note: there is a third modifier, `c`, for char lists. + +```elixir +> ~w(one two three)c +['one', 'two', 'three'] +``` + +[source](http://elixir-lang.org/getting-started/sigils.html)