@@ -41,6 +41,32 @@ func init() {
41
41
return NewIterator (o ), nil
42
42
}, 0 , "items() -> list of D's (key, value) pairs, as 2-tuples" )
43
43
44
+ StringDictType .Dict ["keys" ] = MustNewMethod ("keys" , func (self Object , args Tuple ) (Object , error ) {
45
+ err := UnpackTuple (args , nil , "keys" , 0 , 0 )
46
+ if err != nil {
47
+ return nil , err
48
+ }
49
+ sMap := self .(StringDict )
50
+ o := make ([]Object , 0 , len (sMap ))
51
+ for k := range sMap {
52
+ o = append (o , String (k ))
53
+ }
54
+ return NewIterator (o ), nil
55
+ }, 0 , "keys() -> list of D's keys, as a list" )
56
+
57
+ StringDictType .Dict ["values" ] = MustNewMethod ("values" , func (self Object , args Tuple ) (Object , error ) {
58
+ err := UnpackTuple (args , nil , "values" , 0 , 0 )
59
+ if err != nil {
60
+ return nil , err
61
+ }
62
+ sMap := self .(StringDict )
63
+ o := make ([]Object , 0 , len (sMap ))
64
+ for _ , v := range sMap {
65
+ o = append (o , v )
66
+ }
67
+ return NewIterator (o ), nil
68
+ }, 0 , "values() -> list of D's values, as a list" )
69
+
44
70
StringDictType .Dict ["get" ] = MustNewMethod ("get" , func (self Object , args Tuple ) (Object , error ) {
45
71
var length = len (args )
46
72
switch {
0 commit comments