24 lines
802 B
Racket
24 lines
802 B
Racket
#lang typed/racket
|
|
|
|
(: convert-it (Any -> (HashTable Symbol Number)))
|
|
(define (convert-it a)
|
|
(if (hash? a)
|
|
(begin
|
|
(hash-ref a 3)
|
|
(hash-has-key? a 3)
|
|
(ann (hash-remove a 3) HashTableTop)
|
|
(hash-remove! a 3)
|
|
(length (hash-map a (lambda: ([x : Any] [y : Any]) x)))
|
|
(hash-for-each a (lambda: ([x : Any] [y : Any]) (display x)))
|
|
(add1 (hash-count a))
|
|
(length (hash-keys a))
|
|
(length (hash-values a))
|
|
(length (hash->list a))
|
|
(for ([(k v) (in-hash a)])
|
|
(display k))
|
|
(for/hash: : (HashTable Symbol Number) ([v (in-hash-values a)])
|
|
(values 'x 1))
|
|
(for/hash: : (HashTable Symbol Number) ([k (in-hash-keys a)])
|
|
(values 'x 1)))
|
|
(error 'convert-it "not a hash ~s" a)))
|