明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: highflybird

[【高飞鸟】] Make Lisp Great Again--利用隐藏函数恢复isp的活力!

    [复制链接]
发表于 2022-8-3 18:27:58 | 显示全部楼层
baitang36 发表于 2022-8-2 07:44
有一种语言叫汇编,它的指令和机器码是对应的。
任何语言最终到cpu那里执行的都是机器码,可以用汇编去 ...

求baitang36 老师 教教。看什么资料看什么书?
 楼主| 发表于 2022-8-3 23:38:37 | 显示全部楼层
陆续在一楼补充新发现的一些隐藏函数。
发表于 2022-8-4 07:38:43 | 显示全部楼层
flowerson 发表于 2022-8-3 18:27
求baitang36 老师 教教。看什么资料看什么书?

先看看od和x64db这些调试工具
发表于 2022-8-4 07:47:15 | 显示全部楼层
ymd->fix 和fix->ymd  不精确,输入个非法日期也能算。用来算间隔天数还是可以的。
发表于 2022-8-8 21:05:02 | 显示全部楼层
谢谢楼主分享
发表于 2022-8-9 13:45:16 | 显示全部楼层
本帖最后由 llsheng_73 于 2022-8-9 13:47 编辑
菜卷鱼 发表于 2022-7-26 14:53
我贡献最小,跟真大神相提并论有点惭愧

adjoin  ;;;(adjoin item list) == (if (member item list) list ...

(setq l1'(1 2)l2'(3 4))
(rplacd '(1 2)l2)=>'(1 3 4)
(rplacd l1 l2)完蛋了。。。。它会进入死循环,最后CAD崩掉。。。当然也可以在中途狂按ESC让它结束,会看到l1的值(1(1(1(1....(1 3 4)...))))
(rplacd (eval 'l1)l2)不会出现死循环的问题,并且把结果也给了l1(1 3 4)
这两点特别奇怪
(rplaca l1 l2)=>((3 4)2);;;等同于(setq l1(cons l2(cdr l1))),即把结果放回了第一个变量
(revappend l1 l2)=>(2 1 3 4)和(append(reverse l1)l2)完全相同,都不会修改l1或l2
(nreconc l1 l2)=>(2 1 3 4),但它同时把l1改为了(1 3 4)即(setq l1(cons(car l1)l2))修改了第一个变量但并不是这个函数的直接结果
发表于 2022-8-9 14:56:14 | 显示全部楼层
本帖最后由 llsheng_73 于 2022-8-9 15:05 编辑

(setq a "hello,world!")
(setq b a)  用setq复制。
(setq c (copy-string a))
一开始它们是一样的,
但是如果你用内部函数修改了a的字符串值,
譬如(string-fill a (ascii "a"))
"aaaaaaaaaaaa"
_$ a
"aaaaaaaaaaaa"
_$ b
"aaaaaaaaaaaa"

激活string-fill后是对的。。。如果用setq去改变a,那么b是不会变化的,看样子它和一些别的内部函数一样,隐藏了一些副作用,或者说有副产品
回复 支持 1 反对 0

使用道具 举报

发表于 2022-8-14 10:40:42 | 显示全部楼层
用LISP这么多年了,今天又涨了知识经常听说AutoLisp是Lisp的子集,是不是可以说对于Lisp其实还学得不全面呢。上网找了一下,发现这本书,居然是MT的教材!
发表于 2022-8-14 10:44:07 | 显示全部楼层
本帖最后由 caddog 于 2022-8-14 10:45 编辑

咦,我发的附件怎么看不见呢?
书名叫《计算机程序的构造和解释》
C:\20220814104325.png

本帖子中包含更多资源

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

x
发表于 2022-8-23 17:09:11 | 显示全部楼层
感谢版主和各位大佬们的奉献!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 09:07 , Processed in 0.180906 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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