Racket的随机功能(更复杂)

时间:2016-11-16 12:08:50

标签: function random racket

我知道关于Racket中随机函数的基础知识,但我正在尝试做一些更困难的事情。

我正在尝试开发一个随机函数,它随机给出我给函数作为参数的列表元素。例如:

all columns of single row

欢迎任何帮助。

2 个答案:

答案 0 :(得分:1)

一种方法是首先获取列表的长度,执行(random len)得到一个数字[0,len-1]并使用list-ref来获取该元素。

答案 1 :(得分:1)

这是一个选项,假设一个非空列表并使用内置程序:

(define (pick-random lst)
  (first (shuffle lst)))

例如:

(pick-random '(1 2 3 4 5))
=> 3