【发布时间】:2016-11-19 23:20:00
【问题描述】:
如何从球拍中的列表中获取随机元素,相当于Clojure
rand-nth?
如何从 Racket 中的哈希映射中获取密钥,相当于 Clojure keys?
如何获取 Racket 中某个键对应的值,相当于 Clojure 中的get?
【问题讨论】:
-
你是指哈希表还是关联列表?对于哈希表,请使用
hash-keys和hash-ref。
如何从球拍中的列表中获取随机元素,相当于Clojure
rand-nth?
如何从 Racket 中的哈希映射中获取密钥,相当于 Clojure keys?
如何获取 Racket 中某个键对应的值,相当于 Clojure 中的get?
【问题讨论】:
hash-keys 和 hash-ref。
这个函数会选择随机元素:
(define (rand-nth list)
(list-ref list (random (length list))))
此函数将从哈希图中选择所有键:
(define (keys array)
(map car array))
如果您将哈希映射和键作为参数提供,此函数将获取值:
(define (get array k)
(if (eq? (caar array) k)
(car (cdar array))
(get (cdr array) k)))
【讨论】: