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

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

7 голосов
/ 29 февраля 2012

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

(random 100)

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

reference to undefined identifier: random

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

Ответы [ 2 ]

10 голосов
/ 11 июня 2012

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

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

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

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

7 голосов
/ 29 февраля 2012

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

Ракетка имеет встроенную функцию random . Если вы используете lan #lang racket ‘, он автоматически доступен. Есть ли причина, по которой вы используете языковой режим R5RS?

...