Scheme 如何在球拍中提供完整路径?

Scheme 如何在球拍中提供完整路径?,scheme,racket,Scheme,Racket,试图从另一个文件访问函数。将(提供(全部已定义))放在另一个文件中。现在尝试使用完整路径实际引用它: (require “C:\Users\functions.rkt”) 返回此错误:#%require:C:Usersfunctions.rkt中的require规范不正确 (require "C:\Users\functions.rkt") 返回此错误:读取语法:以下没有十六进制数字\U此代码段中有两个语法错误: (require “C:\Users\functions.rkt”) 首先,

试图从另一个文件访问函数。将
(提供(全部已定义))
放在另一个文件中。现在尝试使用完整路径实际引用它:

(require “C:\Users\functions.rkt”)
返回此错误:#%require:C:Usersfunctions.rkt中的require规范不正确

(require "C:\Users\functions.rkt")

返回此错误:读取语法:以下没有十六进制数字
\U

此代码段中有两个语法错误:

(require “C:\Users\functions.rkt”)
首先,双引号字符不正确。您必须避开反斜杠,正如Ryan指出的,必须使用
文件
。试试这个:

(require (file "C:\\Users\\functions.rkt"))

请尝试使用双反斜杠
\\
来表示字符串中的单个反斜杠字符。为什么必须转义引号内的斜杠?反斜杠是转义字符,它为其后的任何字符赋予特殊含义。示例:“\n”是一个新行字符。但是如果你只是为了反斜杠而加反斜杠,而后面的字符没有特别的意义,那么你也必须避开它!反斜杠的转义字符是什么?另一个反斜杠。这不是Racket特有的,在我所能想到的大多数编程语言中,字符串的行为都是一样的。您必须使用带有绝对路径的
file
。所以它应该是
(需要(文件“C:\\Users\\functions.rkt”)