读取列表资料库的自定义函数应用出错?
(defun read_list_data (df / bt fp dt1 dt2)(setq bt '()) ;建立空表
(if (setq fp (open df "r")) ;以读取模式开启指定的档案
(progn ;如果档案开启成功
(setq dt1 (read-line fp)) ;读取第一行
(while dt1 ;当有资料读入时...
(setq dt2 (read dt1)) ;去除外层双引号
(if (= (type dt2) 'LIST) ;判断是不是串列资料
(setq bt (append bt (list dt2))) ;若是,将资料项加入串列中
)
(setq dt1 (read-line fp)) ;读取下一行
)
(close fp) ;关闭档案
)
(princ (strcat "\nFailed open file: " df " !!!\n"))
;显示无法开启档案的讯息
)
(eval bt) ;传回结果串列
)
应用的时候出现错误
(setq db1 (read_list_data "d:\\lisp\\block_spec.txt"))
; 错误: 函数错误: "DSK001"
请问各位老师是哪里错误了
试一下,下面的程序是否能正常运行
(defun read_list_data (df / BT DT1 DT2 FP)
(setq bt nil)
(if (setq fp (open df "r"))
(progn
(while (setq dt1 (read-line fp))
(setq dt2 (read dt1))
(setq bt (append bt (list dt2)))
)
(close fp)
)
)
bt
) 自贡黄明儒 发表于 2024-4-19 12:31
试一下,下面的程序是否能正常运行
可以了,谢谢黄老师!
页:
[1]