mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 23:28:02 +00:00
Add Expose Internal Representation as an elixir til
This commit is contained in:
@@ -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
|
warrant a full blog post. These are mostly things I learn by pairing with
|
||||||
smart people at [Hashrocket](http://hashrocket.com/).
|
smart people at [Hashrocket](http://hashrocket.com/).
|
||||||
|
|
||||||
_333 TILs and counting..._
|
_334 TILs and counting..._
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -66,6 +66,7 @@ _333 TILs and counting..._
|
|||||||
### Elixir
|
### Elixir
|
||||||
|
|
||||||
- [Append To A Keyword List](elixir/append-to-a-keyword-list.md)
|
- [Append To A Keyword List](elixir/append-to-a-keyword-list.md)
|
||||||
|
- [Expose Internal Representation](elixir/expose-internal-representation.md)
|
||||||
- [Replace Duplicates In A Keyword List](elixir/replace-duplicates-in-a-keyword-list.md)
|
- [Replace Duplicates In A Keyword List](elixir/replace-duplicates-in-a-keyword-list.md)
|
||||||
|
|
||||||
### Git
|
### Git
|
||||||
|
|||||||
16
elixir/expose-internal-representation.md
Normal file
16
elixir/expose-internal-representation.md
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# Expose Internal Representation
|
||||||
|
|
||||||
|
Elixir is a language that has strong support for metaprogramming. It
|
||||||
|
provides easy access to an internal representation of the code in the form
|
||||||
|
of an Abstract Syntax Tree (AST) using maps and keyword lists. The `quote`
|
||||||
|
function is used to expose this internal representation.
|
||||||
|
|
||||||
|
```elixir
|
||||||
|
> quote do: 2 * 2
|
||||||
|
{:*, [context: Elixir, import: Kernel], [2, 2]}
|
||||||
|
> quote do: 2 * 2 == 4
|
||||||
|
{:==, [context: Elixir, import: Kernel],
|
||||||
|
[{:*, [context: Elixir, import: Kernel], [2, 2]}, 4]}
|
||||||
|
```
|
||||||
|
|
||||||
|
[source](http://elixir-lang.org/getting-started/meta/quote-and-unquote.html)
|
||||||
Reference in New Issue
Block a user