문제

내가 사용하여 DrScheme 를 통해 작업 SICP,그리고 나는 것으로 나타났는 특정 절차(예를 들어, square)에 사용됩니다.나는 이러한 별도의 파일에할 수 있도록 그들을 포함에 다른 프로그램을 다시 작성하지 않고 그들에게 모든 시간을,그러나 나는 수 없는 것 그 밖으로 수행하는 방법이다.

해봤:

(load filename)
(load (filename))
(load ~/path-to-directory/filename)
(require filename)
(require ~/path-to-directory/filename)
(require path-from-root/filename)

이러한 작동합니다.분명히 나에서 파악 빨--어떤 도움이 많이 감사합니다.

도움이 되었습니까?

해결책

그것은 명확하지 않에서 당신의 질문에 어떤 언어 수준은 당신을 사용하여;기존의 특정 언어도 특정 메커니즘을 사용할 수 없습니다.

최 포함이/추상화 메커니즘은 모듈이 있습니다.

첫째,설정의 언어 수준은"모듈".그런 다음,가 있는 경우 이러한 두 개의 파일을 같은 디렉토리

파일에 사용됩니다.ss:

#lang scheme

(require "square.ss")

(define (super-duper x) (square (square x)))

파일 광장입니다.ss:

#lang scheme

(provide square)

(define (square x) (* x x))

다음할 수 있죠"run"에서"사용됩니다.ss"버퍼의 모든 것을 일 방법을 간편하게 사용할 수 있습니다.

주의:검증되지 않은 코드입니다.

다른 팁

내가 믿는 당신이 찾고있:

(include "relative/path/to/scheme/file.scm")

의(필수)식 적재를 위한 모듈을 사용합니다.

에 MIT/GNU Scheme,로드할 수 있는 파일과 같은 것이:

(load "c:\\sample-directory\\sample-file.scm")

하지만 난 그것을 작동하는 경우에 DrScheme.

(require "~/path-to-directory/filename")
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top