diff options
Diffstat (limited to 'modules/language/python/dict.scm')
-rw-r--r-- | modules/language/python/dict.scm | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/modules/language/python/dict.scm b/modules/language/python/dict.scm index be857ba..9eb698d 100644 --- a/modules/language/python/dict.scm +++ b/modules/language/python/dict.scm @@ -651,7 +651,7 @@ (define __setitem__ (lambda (self k v) (pylist-set! (ref self '_dict) (norm k) v))) - + (define __iter__ (lambda (self) ((make-generator () @@ -688,7 +688,21 @@ (for ((k v : (ref self '_dict))) ((l '())) (cons (list (renorm k) v) l) #:final (reverse l)))) - + + (define keys + (lambda (self) + (for ((k v : self)) ((l '())) + (cons (renorm k) l) + #:final + l))) + + (define values + (lambda (self) + (for ((k v : self)) ((l '())) + (cons v l) + #:final + l))) + (define __repr__ (lambda (self) (for ((k v : (ref self '_dict))) ((l '())) |