我正在尝试设置一个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存在。命令是否正确?
答案 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>