2011-01-26 181 views

回答

12

您可以使用include如下:

創建一個名爲"foo.rkt"文件看起來像這樣:

(define x 1) 
(define y 2) 
在另一個文件

然後:

#lang racket 
(require racket/include) 
(include "foo.rkt") 
(+ x y) 

應該可以看到結果3

您也可以看到include的文檔。

12

要導出功能,一個模塊的,你用provide,考慮一個文件"foo.rkt"

#lang racket 
(define fortytwo 42) 
(define (det a b c) 
    (- (* b b) (* 4 a c))) 
(provide (fortytwo det)) 
"foo.rkt"

文件"bar.rkt"現在可以導入定義:

#lang racket 
(require "foo.rkt") 
(define (baz a b c) 
    (+ (det a b c) (- c 4))) 

你的另一種方式可能允許其他文件訪問文件中定義的所有內容,正在使用(all-defined-out)

#lang racket 
(define fortytwo 42) 
(define (det a b c) 
    (- (* b b) (* 4 a c))) 
(provide (all-defined-out)) 

希望有所幫助。

+1

還要注意有`include`,這可能是問題是什麼原本約。 – 2011-01-27 03:34:25

+0

不知何故,包括在我的情況下沒有工作,但你的解決方案做的工作。 – dKab 2014-11-22 18:55:19

0

你可以使用負載

(load "assert.scm")