Skip to content

Commit 7ac88d9

Browse files
committed
py: dict.__setitem__ and dict.__getitem__
1 parent 4a7ad17 commit 7ac88d9

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

py/dict.go

+20
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,23 @@ func (d StringDict) Copy() StringDict {
3737
}
3838
return e
3939
}
40+
41+
func (d StringDict) M__getitem__(key Object) Object {
42+
str, ok := key.(String)
43+
if ok {
44+
res, ok := d[string(str)]
45+
if ok {
46+
return res
47+
}
48+
}
49+
panic(ExceptionNewf(KeyError, "%v", key))
50+
}
51+
52+
func (d StringDict) M__setitem__(key, value Object) Object {
53+
str, ok := key.(String)
54+
if !ok {
55+
panic("FIXME can only have string keys!")
56+
}
57+
d[string(str)] = value
58+
return None
59+
}

0 commit comments

Comments
 (0)