【问题标题】:Q&A: Clojure translated into Racket: rand-nth, keys and getQ&A:Clojure 翻译成 Racket:rand-nth、keys 和 get
【发布时间】:2016-11-19 23:20:00
【问题描述】:

如何从球拍中的列表中获取随机元素,相当于Clojure rand-nth?

如何从 Racket 中的哈希映射中获取密钥,相当于 Clojure keys?

如何获取 Racket 中某个键对应的值,相当于 Clojure 中的get?

【问题讨论】:

  • 你是指哈希表还是关联列表?对于哈希表,请使用 hash-keys 和 hash-ref。

标签: clojure racket


【解决方案1】:

这个函数会选择随机元素:

(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)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 2017-02-05
    相关资源
    最近更新 更多