如何使用Racket从dir加载文件?

时间:2014-08-01 21:23:55

标签: scheme racket

我正在尝试设置一个dir来使用球拍加载文件。我想设置目录,然后使用命令(load "extract.rktl")加载文件。

我在Windows环境中。

我正在尝试的命令是:

(add-to-list 'load-path ("c:/Users/racket/")

我收到错误:

add-to-list: undefined;
 cannot reference undefined identifier
  context...:

dir c:\ Users \ racket存在。命令是否正确?

更新:这有助于:How do I include files in DrScheme?

1 个答案:

答案 0 :(得分:0)

在Racket中,path是一种类型,字符串不是路径。因此,使用string->path转换路径名称。

(define default-dir
  (string->path "c:\\user\\racket"))

注意:

  • Windows分隔符' \'必须转义为' \'。

  • 许多作用于路径的Racket函数会隐式地将字符串转换为路径,而不会显式调用string->path

  • 但是,无法在路径对象上执行字符串操作。

>(string-split default-dir "\\")
string-split: contract violation
expected: string?
given: #<path:c:\user\racket>

或者,可以使用GUI:

> (require racket/gui)
> (define my-file (get-file))
> my-file
#<path:/home/ben/Documents/racket/my-module.rkt>