我目前在Mac OS X上使用DrRacket,并选择语言“R5RS”,但是当我输入时,我遇到了以下问题:(random 100) 我收到了以下错误消息:reference to undefined identifier: random 这里出现了什么问题?是由于缺少软件包引起的吗?
正如dyoo指出的那样,R5RS中没有定义函数random。 如果你想在DrRacket中使用R5RS语言中的“外来”函数, 可以使用#%require导入它们。 在这种情况下,在Racket文档中搜索random。请注意,random是模块racket/base的一部分。现在编写:(#%require (only racket/base random)) (random 10) 使用 only 确保你只导入函数 random 和在 racket/base 中存在的其他非 R5RS 构造。
“random”是R5RS提供的函数吗?我在规范的索引中查找,但没有找到。R5RS是一种最小化的语言模式,当Racket处于R5RS模式时,它会限制自己。Racket确实有一个本地的random函数。如果您使用“#lang racket”,它会自动可用。您为什么要使用R5RS语言模式呢?