diff options
| author | Joel Martin <github@martintribe.org> | 2014-10-09 19:14:43 -0500 |
|---|---|---|
| committer | Joel Martin <github@martintribe.org> | 2014-10-09 19:14:43 -0500 |
| commit | f2c9811fd8cbb205fad68952ebc1ba5d310f148d (patch) | |
| tree | 0a1d80a4ccfb6378014098475c70a90093b7efa7 /go/src/reader | |
| parent | ad7e866ea1d4d035d876e58bca681a72099449af (diff) | |
| download | mal-f2c9811fd8cbb205fad68952ebc1ba5d310f148d.tar.gz mal-f2c9811fd8cbb205fad68952ebc1ba5d310f148d.zip | |
go: add hash-map support.
Diffstat (limited to 'go/src/reader')
| -rw-r--r-- | go/src/reader/reader.go | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/go/src/reader/reader.go b/go/src/reader/reader.go index f8c15d5..2ac5a08 100644 --- a/go/src/reader/reader.go +++ b/go/src/reader/reader.go @@ -105,20 +105,8 @@ func read_vector(rdr Reader) (MalType, error) { func read_hash_map(rdr Reader) (MalType, error) { mal_lst, e := read_list(rdr, "{", "}") - lst := mal_lst.(List).Val if e != nil { return nil, e } - if len(lst) % 2 == 1 { - return nil, errors.New("Odd number of hash map arguments") - } - m := map[string]MalType{} - for i := 0; i < len(lst); i+=2 { - str, ok := lst[i].(string) - if !ok { - return nil, errors.New("expected hash-map key string") - } - m[str] = lst[i+1] - } - return m, nil + return NewHashMap(mal_lst) } func read_form(rdr Reader) (MalType, error) { |
