2013-02-21 1 views
4

Я работаю над простой игрой, используя Racket (домашнее задание). Требования предписывают мне создать компьютерный проигрыватель с именем random, в котором используется генератор случайных чисел по умолчанию. Этот фрагмент кода иллюстрирует мой вопрос:Использование пространств имен для работы с теневыми идентификаторами

(define (random) 
    (random (10))) ; should be random number call 

я привык к конвенции C для пространств имен:

std::string

ли Ракетка предложить что-нибудь вдоль этих линий?

+0

Вы смотрели на: http://docs.racket-lang.org/guide/module-require.html касаемо к команде 'prefix-in'? – dyoo

ответ

6

Вы можете использовать prefix-in для префикса экспорта стандартной библиотеки с помощью префикса имен. Например:

#lang racket 
(require (prefix-in std:: racket)) 
(define (* x) 
    (std::* x x)) 

показывает, что мы можем тень привязок из #lang racket, но все же получить на них через префикс идентификаторов.

Традиционно префиксы, которые используют люди немного проще, как:

#lang racket 
(require (prefix-in r: racket)) 
(define (* x) 
    (r:* x x)) 
+0

Спасибо, что решили мои проблемы. –