我想写一个可以直接运行或者将运行代码输出成文件的代码,本地运行正常,谁知输出文件时出状况,理想目的时文件输出内容为"(abc < 5)",但实际输出"(#<USUBR @000002736415ce58 ABC> #<SUBR @000002734de6faa8 <> 5 )",我一口老血喷出,如果真要实现只要预设一下就可以,但是对于#<USUBR @000002736415ce58 ABC> 有没有好一点的方法。
源码如下:
 - (defun abc (a< nn)
- (if (a< 3 nn)
- (alert "oK")
- )
- )
- (defun test (tn / fi file ls01 path_name)
- (setq ls01 (list abc < 5))
- (if tn
- (eval ls01) ;本地运行模式
- (progn ;输出运行文件
- (setq path_name "c:\\1.txt")
- (if (open path_name "r")
- (princ "该文件已经存在")
- (progn (setq file (open path_name "w"))
- (close file)
- ) ;_ 结束progn
- )
- (if (findfile path_name)
- (progn
- (setq fi (open path_name "w"))
- (princ "(" fi)
- (foreach ii ls01
- (princ ii fi)
- (princ " " fi)
- )
- (princ ")" fi)
- (close fi)
- )
- (princ)
- )
- )
- )
- )
- (defun c:tt ()
- (test nil)
- )
|