荒野孤行 发表于 2014-6-9 19:49:28

自制工具箱的自定义快捷键程序

本帖最后由 荒野孤行 于 2018-7-29 15:06 编辑

初始程序部分源码:
(if reg_wdy501 (eval (read (strcat "(defun c:" reg_wdy501 "() (wdy_zf))"))))
(if reg_wdy502 (eval (read (strcat "(defun c:" reg_wdy502 "() (wdy_ff))"))))
(if reg_wdy503 (eval (read (strcat "(defun c:" reg_wdy503 "() (wdy_py))"))))
(if reg_wdy504 (eval (read (strcat "(defun c:" reg_wdy504 "() (wdy_sy))"))))
(if reg_wdy505 (eval (read (strcat "(defun c:" reg_wdy505 "() (wdy_yy))"))))

优化源码应该如何写:
(setq lst1 (list wdy501 wdy502 wdy503 wdy504 wdy505))
(setq lst2 (list wdy_zf wdy_ff wdy_py wdy_sy wdy_yy))


(mapcar '(lambda (x y)



)
)

'↑←以上未完善的该如何写呢?

edata 发表于 2014-6-9 21:47:19

建议采用这样的方便控制。
(setq lst(list(cons "wdy03" "wdy_zz")(cons "wdy04" "wdy_za")(cons "wdy05" "wdy_zb")))
(mapcar '(lambda(x)(princ(strcat "(defun c:" (car x) "() (" (cdr x) "))"))) lst)

Dani1988 发表于 2020-3-4 09:43:54

本帖最后由 Dani1988 于 2020-3-4 09:45 编辑

77077 发表于 2014-10-31 19:23

点表里面应该是字符串,(setq qml '(("c1" . "yx_c1")("c2" . "yx_c2")("c3" . "yx_c3")))(foreach x qml
(setq str (strcat
               "(defun c:"
               (car x)
               "() (c:"
               (cdr x)
               "))"
            )
   )
(eval (read str))
)

davide888 发表于 2017-11-17 20:52:02

本帖最后由 davide888 于 2017-11-17 21:12 编辑

   找到了感谢院长机械工程师
http://bbs.mjtd.com/thread-110658-1-1.html

guankuiwu 发表于 2021-3-1 21:51:39

学习一下

liu903758379 发表于 2018-9-21 15:51:05

想学,看看,感谢分析

vladimirputin 发表于 2017-11-16 15:49:42


看着不错想试试 哪有下载啊?

davide888 发表于 2017-11-13 22:27:14

荒野孤行 发表于 2017-11-13 18:51
等你来解决啊

这也太难了:funk::'(

荒野孤行 发表于 2017-11-13 18:51:51

davide888 发表于 2017-11-8 22:11
谁来个读取INI或者TXT的呢

等你来解决啊

davide888 发表于 2017-11-8 22:11:46

谁来个读取INI或者TXT的呢

dadiwusheng 发表于 2016-3-30 03:54:29

这个好,谢谢分享
页: [1] 2 3 4
查看完整版本: 自制工具箱的自定义快捷键程序