明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3582|回复: 25

[源码] 代码查错程序,源码

[复制链接]
发表于 2020-8-27 14:47:59 | 显示全部楼层 |阅读模式
本帖最后由 菜卷鱼 于 2022-8-31 15:51 编辑


用法
(run
       '(
  (表达式1)
  (表达式2)
  (表达式3)
   ......
   )
)

举例1
原表达式
(setq a 1 )
(setq b a )
(setq c d)
查错
(run '(
    (setq a 1 )
    (setq b a )
    (setq c d)
  )
)
==>
(1 1 nil)

举例2
原表达式
(setq a 1 )(seqq b a )(setq c d)
查错
命令: (run '((setq a 1 )(seqq b a )(setq c d)))
==>
共3个表达式
运行到第2个时报错
报错代码: (SEQQ B A)
报错原因: "no function definition: SEQQ"

举例3
原表达式
(setq a 2)(setq b a )(setq c d) (if a)
查错
命令: (run '((setq a 2)(setq b a )(setq c d) (if a)))
==>
共4个表达式
运行到第4个时报错
报错代码: (IF A)
报错原因: "语法错误"

  1. (defun prlst (lst)
  2.   (if (not (listp lst))
  3.     (setq lst (list lst))
  4.   )
  5.   (setq lst (eval (cons list lst)))
  6.   (mapcar 'princ lst)
  7.   (prin1)
  8. )





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 3明经币 +3 收起 理由
baitang36 + 1 很给力!
USER2128 + 1 很给力!
gaics + 1 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2020-8-29 08:47:28 | 显示全部楼层
angel066499 发表于 2020-8-28 20:43
没有这个函数哦prlst

OK,附上了
回复 支持 2 反对 0

使用道具 举报

发表于 2020-9-3 10:00:14 来自手机 | 显示全部楼层
真牛,不过不会用
回复 支持 1 反对 0

使用道具 举报

发表于 2020-8-28 20:06:39 | 显示全部楼层
谢谢楼主分享,,对小白还是有用处,不知道错在哪,,
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-10-10 09:11:11 | 显示全部楼层
Zrrrrr 发表于 2020-10-8 22:40
请问(setq lst (eval (cons list lst)))是为了做什么呢?

为了写局部变量的时候可以用  ' (...) 代替 (list ... ) 做成表

比如
(setq a 1 b 2 c 3)

(mapcar 'princ  '(a b c ))
返回ABC
(mapcar 'princ  (eval (cons list  '(a b c))))
就会返回123

你直接写,肯定更费力,但是用于局部变量,就好用多了

像我附上的那个 prlst
就可以 (prlst '(a b c)) ,(prlst (list a b c))也行
如果没加上 (eval (cons list lst)) 这一句
就必须得 (prlst (list a b c))

回复 支持 1 反对 0

使用道具 举报

发表于 2020-8-28 20:43:47 | 显示全部楼层
没有这个函数哦prlst
回复 支持 1 反对 0

使用道具 举报

发表于 2020-8-27 22:27:23 | 显示全部楼层
谢谢! 菜卷鱼 分享程序!!!!!
发表于 2020-8-28 09:07:32 | 显示全部楼层
老师是干嘛用的呀
 楼主| 发表于 2020-8-28 09:33:39 | 显示全部楼层
664571221 发表于 2020-8-28 09:07
老师是干嘛用的呀

就是你写了一长串代码,你怕出错又不知道错在哪一句,你就用这个程序把你的程代码套一下,有错误就会报警,但是这个代码比较简单,能够查简单的错误,复杂的没测试过
发表于 2020-8-28 11:16:06 | 显示全部楼层
这个有意思,感谢楼主分享
发表于 2020-8-31 22:45:40 | 显示全部楼层

谢谢:P,查一下程序还是很方便的
发表于 2020-9-3 07:46:00 | 显示全部楼层
很牛逼的样子哦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-17 02:42 , Processed in 0.211201 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表