Scheme 如何使用Racket从目录加载文件?
我正在尝试设置一个目录,以便使用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存在。命令正确吗
(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>