File tree Expand file tree Collapse file tree 4 files changed +42
-64
lines changed
Expand file tree Collapse file tree 4 files changed +42
-64
lines changed Original file line number Diff line number Diff line change 1+ defmodule ElixirScript.Keyword do
2+
3+ def has_key? ( kw , key ) do
4+ do_has_key? ( kw , key )
5+ end
6+
7+ defp do_has_key? ( [ ] , _ ) do
8+ false
9+ end
10+
11+ defp do_has_key? ( kw , key ) do
12+ case hd ( kw ) do
13+ { the_key , _ } when the_key == key ->
14+ true
15+ _ ->
16+ do_has_key? ( tl ( kw ) , key )
17+ end
18+ end
19+
20+ def get ( kw , key ) do
21+ get ( kw , key , nil )
22+ end
23+
24+ def get ( kw , key , default ) do
25+ case has_key? ( kw , key ) do
26+ true ->
27+ do_get ( kw , key )
28+ false ->
29+ default
30+ end
31+ end
32+
33+ defp do_get ( kw , key ) do
34+ case hd ( kw ) do
35+ { kw_key , value } when kw_key == key ->
36+ value
37+ _ ->
38+ do_get ( tl ( kw ) , key )
39+ end
40+ end
41+ end
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ defmodule ElixirScript.Translator.State do
2525 |> Map . put ( Base , ElixirScript.Base )
2626 |> Map . put ( Module , ElixirScript.Module )
2727 |> Map . put ( Map , ElixirScript.Map )
28+ |> Map . put ( Keyword , ElixirScript.Keyword )
2829 end
2930
3031 def add_module ( module ) do
Load Diff This file was deleted.
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments