2013-02-21 55 views
4

我正在使用球拍(家庭作业)进行简单的游戏。这些要求指示我创建一个名为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 2013-02-21 03:45:38

回答

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

谢谢,这解决了我的问题。 – 2013-02-21 03:57:35