球拍 - 如何为列表指定长度

时间:2015-11-20 02:50:57

标签: functional-programming racket

我想知道,在球拍中,你如何为列表分配一定的长度。

这是我想要运行的代码:

(check-expect (length a-list-of-length-104) 104)

如果不在列表中输入104个元素,你会怎么做呢?

这是我的最终目标:

(define (random-element a-list)
(list-ref a-list (random (length a-list))))

(random-element a-list-of-length-104)
(random-element a-list-of-length-104)
(random-element a-list-of-length-104)

每次都应该产生不同的输出。

1 个答案:

答案 0 :(得分:2)

列表的长度是它包含的元素数。因此,您无法为列表指定长度"。

但是,您可以更方便地创建包含一定数量元素的列表。假设#lang racket,您可以使用build-list

构建一个由0到103之间的整数组成的列表:

(build-list 104 values)

构建一个由104个随机real数字组成的列表:

(build-list 104 (lambda _ (random)))