2013-08-22 2 views
2

나는 라켓에 SICP 그래픽 프로그램의 일부를 구현하기 위해 노력하고있어,하지만이 문제가 있습니다라켓 언어 변경 및 모듈 문제

내가 '하자'사용할 필요가 내가 초보자 언어를 사용할 수 없습니다가. 나는 (2htdp/이미지 필요)에 의해 이미지 모듈을로드 할 때

module: identifier already imported from a different source 

오류 : "고급"언어를 사용하는 동안 나는 언어를 변경하거나 새 파일을 열려고하면 , 나는이 오류가 발생합니다.

무슨 일 이니? 또한, Scheme에서 이미지로 훈련하는 더 좋은 방법이 있습니까?

+2

더 이상 학생용 언어 사용을 고려하지 말라. (나는 2htdp를 사용하고 있음을 알고 있지만, #lang racket과 다른 사람들은 방금 더 많은 문을 열어 둔다.) –

답변

0

오스카 언급으로 당신이 동일한 기호를 수출 somethng을 가져올 경우, 당신은 당신이 그들을 접두사 수 있습니다, 그러나, #lang planet neil/sicp를 사용하여 더 나을 수 있습니다 : 그럼 안녕 모두가이 접두사에서 내 보낸

(require (prefix-in hi: 2htdp/image)) 

:, 예. (hi:circle 30 "outline" "red"). 콜론은 특별한 것이 아닙니다. 접두어는 xxx 일 수 있으며 xxxcircle입니다.

; you only want circle and eclipse 
(require (only-in 2htdp/image circle ellipse)) 

아니면 일부 기호를 제외한 모든 가져올 수 있습니다 :

; everything except circle and ellipse 
(require (except-in 2htdp/image circle)) 

을 그리고 언어와 racket 또는 racket/base를 사용하지 않을 이유가 없다

또한, 당신은 당신이 원하는 기호를 가져올 수 있습니다 당신이 이것을 알 때.

6

처음에 2htdp/image을 사용하려는 이유가 명확하지 않습니다. 훨씬 더 유용한 패키지는 Neil Van Dyke의 SICP Support page이고, 그래픽 언어가 포함 된 책을 지원하는 언어를 제공합니다. 그것은 두 가지 문제를 해결하기에 충분해야합니다.

+2

시도했다 ... 나는 "tcp-connect : 클라이언트 액세스를 금합니다. planet.racket-lang.org : 80 –

+0

네트워크에 문제가 있거나 시스템 관리자에게 문의하거나 다른 곳에서 연결을 시도하십시오. –