我可以在repl或使用(load)
加载的文件中使用大多数sharp-sign read macros:
#;1> #${ abcdef }
#${abcdef}
但我无法使用foreign declare语法#> <#
:
#;1> #>#include "md5-base.c"<#
Error: invalid sharp-sign read syntax: #\>
当然,可能没有理由在repl上使用它,但是我试图在运行时编写(load)
其他来源的程序并对它们进行内省,并且& #39;当它遇到语法时摔倒:
(load "/tmp/temp29fe.31217/md5/md5.scm")
; loading /tmp/temp29fe.31217/md5/md5.scm ...
Error: (line 11) invalid sharp-sign read syntax: #\>
Call history:
<syntax> (load "/tmp/temp29fe.31217/md5/md5.scm")
<eval> (load "/tmp/temp29fe.31217/md5/md5.scm") <--
我如何(load)
包含#>
尖锐语法的文件?
答案 0 :(得分:0)
该语法仅在编译器中受支持;在评估的代码中使用它是没有意义的。如果您只对使用read
感兴趣,可以使用set-sharp-read-syntax!来定义自己的覆盖。