Scheme DrRacket中的随机函数
我目前正在Mac OS X上使用DrRacket并选择语言“R5RS”,但当我输入Scheme DrRacket中的随机函数,scheme,racket,Scheme,Racket,我目前正在Mac OS X上使用DrRacket并选择语言“R5RS”,但当我输入 (random 100) 我收到错误消息: reference to undefined identifier: random 这里有什么问题?它是由丢失的包引起的吗?R5RS提供的函数是“随机”函数吗?我在的索引中查找,但在那里看不到。R5RS是一种最小的语言模式,当Racket处于R5RS模式时,它实际上会限制自己 球拍确实有其固有的功能。如果您使用的是#lang racket,它将自动可用。使用R5RS
(random 100)
我收到错误消息:
reference to undefined identifier: random
这里有什么问题?它是由丢失的包引起的吗?R5RS提供的函数是“随机”函数吗?我在的索引中查找,但在那里看不到。R5RS是一种最小的语言模式,当Racket处于R5RS模式时,它实际上会限制自己
球拍确实有其固有的功能。如果您使用的是#lang racket,它将自动可用。使用R5RS语言模式有什么原因吗?正如dyoo指出的,R5RS中没有定义函数
random
。
如果您想在DrRacket中使用R5RS语言中的“foreign”函数,
您可以使用#%require
导入它们
在这种情况下,在Racket文档中搜索random
。请注意,random
是模块racket/base
的一部分。现在写:
(#%require (only racket/base random))
(random 10)
仅使用
only
确保只导入函数random
和racket/base
中存在的任何其他非R5R构造。我也尝试了random integer和random float,但得到了相同的响应。我找到了解决方案,数据包在PLaneT中可用。