Scheme 如何使用Racket从目录加载文件?

Scheme 如何使用Racket从目录加载文件?,scheme,racket,Scheme,Racket,我正在尝试设置一个目录,以便使用racket加载文件。我想设置目录,然后使用命令(load“extract.rktl”)加载文件 我使用的是windows环境 我正在尝试的命令是: (add-to-list 'load-path ("c:/Users/racket/") 我收到错误消息: add-to-list: undefined; cannot reference undefined identifier context...: 目录c:\Users\racket存在。命令正确吗

我正在尝试设置一个目录,以便使用racket加载文件。我想设置目录,然后使用命令
(load“extract.rktl”)
加载文件

我使用的是windows环境

我正在尝试的命令是:

(add-to-list 'load-path ("c:/Users/racket/")
我收到错误消息:

add-to-list: undefined;
 cannot reference undefined identifier
  context...:
目录c:\Users\racket存在。命令正确吗


更新:这有助于:

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

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

  • Windows分隔符“\”必须转义为“\”

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

  • 但是,不能对路径对象执行字符串操作

>(字符串拆分默认目录“\\”)
字符串拆分:违反合同
预期:字符串?
鉴于:#
或者,可以使用GUI:

> (require racket/gui)
> (define my-file (get-file))
> my-file
#<path:/home/ben/Documents/racket/my-module.rkt>
>(需要球拍/gui)
>(定义我的文件(获取文件))
>我的档案
#

错误是说明过程
添加到列表
未定义,而不是目录不存在@ÓscarLópez:你说得更好;处理路径的pMost Racket函数也接受字符串并自动将其转换为路径。问题不在于路径;这就是功能(见奥斯卡·洛佩斯的评论)@Ryanculpaper我没有解决语法错误,因为这个痛点比试图从Racket文档中挑出标准文件操作要容易得多-
2htdp/batch io
被隐藏在文档的顶层之下,它是在文档中读写文件的唯一初学者友好的方法。
> (require racket/gui)
> (define my-file (get-file))
> my-file
#<path:/home/ben/Documents/racket/my-module.rkt>