functional-programming - Racket - 如何为列表分配长度

标签 functional-programming racket

我想知道,在 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)

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

最佳答案

列表的长度是它包含的元素的数量。所以你不能“为列表分配长度”。

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

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

(build-list 104 values)

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

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

关于functional-programming - Racket - 如何为列表分配长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33818195/

相关文章:

f# - F# 中的动态编程

javascript - 使用一个键的值数组过滤多个 javascript 对象

for-loop - For 循环构造转为函数式

macros - 方案:定义和定义语法规则之间的区别

list - 列表中的列表作为空列表传递 - Racket

java - 抛出异常时如何从代码开头继续执行?

ios - Swift 编译器错误 : "Expression too complex" on a string concatenation

javascript - lambda : Duplicate an object by its (array) property

racket - 如何扩展 Racket 的阅读器以获得更好的路径处理?

testing - racketunit 检查没有抛出异常