我认为我的生日是尝试解决我的Lisp问题的好时机。
我收到某人的Lisp程序来进行实验。它在OS X环境中运行良好。但是,我不能让它在Windows 7或Ubuntu上运行。该程序使用Act-R 6.2来运行模型。当我尝试加载.lisp文件时,收到以下错误:
:Reader error on #<BASIC-FILE-CHARACTER-INPUT-STREAM ("*path*"/28 UTF-8)#xCFAD1AE, near position 1048, within "smile* (#initWithCo":
Undefined character #\/ in a #\# dispatch macro.
While executing: CCL:SIGNAL-READER-ERROR, in process listener(1)
Windows 7和Ubuntu的错误完全相同。如果需要,这是控制台输出:
http://i.stack.imgur.com/dFXVm.png
似乎load-turing-application.lisp加载了多个其他文件,其中一个是turing-application-v1.lisp,其中行(setf *smile* (#/initWithContentsOfFile: (#/alloc ns:ns-image)(ccl::%make-nsstring "smiley.jpg")))
似乎是罪魁祸首。我怀疑它与#/ - 符号有关。
任何想法都会受到赞赏。
答案 0 :(得分:2)
这在评论中得到了解答,但是#/是一种仅在OS X上可用的CCL语法。此代码不适用于Linux或Windows。