случайная функция в DrRacket

в настоящее время я использую DrRacket на Mac OS X и выбираю язык "R5RS", но когда я ввожу

(random 100)

Я получаю сообщение об ошибке:

reference to undefined identifier: random

в чем проблема? Это вызвано отсутствием пакета?

2 ответов


Это "случайный" функция обеспечивается R5RS? Я ищу его в индексе spec, но я не вижу его там. R5RS-это минимальный языковой режим, и когда Racket находится в режиме R5RS, он действительно ограничивает себя.

У ракетки есть родной случайные


как указывает dyoo, функция random Не определен в R5RS. Если вы хотите использовать "иностранные" функции на языке R5RS в DrRacket, вы можете использовать #%require импортировать их.

в этом случае искать random в документации ракетки. Заметьте, что random является частью модуля racket/base. Теперь пиши:

(#%require (only racket/base random))
(random 10)

используя only убедитесь, что вы импортируете только функцию random и любая другая конструкция не-R5RS, присутствующая в racket/base.