svorgodne 发表于 2022-7-6 07:18:45

顺序函数

是否有可能自动生成顺序函数?
 
像这样的
 

(defun (strcat "att" "1") () (alert "se realizo"))

(defun (read (strcat "att" (itoa 1))) () (alert "se realizo"))

(defun (read (eval (strcat "att" (itoa 1)))) () (alert "se realizo"))

 
没有工作。strcat的第二部分是要增加一个回路的部分
 
提前感谢

Stefan BMR 发表于 2022-7-6 07:34:18

两种方式
(setq i 1)
;**********
(eval
(append
   '(defun)
   (list (read (strcat "att" (itoa i))) nil)
   '((princ "\nSe realizo"))
   '((princ))
)
)

;**********
(eval
(read
   (strcat
   "(defun att"
   (itoa (setq i (1+ i)))
   " nil (princ \"\\nSe realizo\")"
   " (princ))"
   )
)
)
_$ (att1)
Se realizo
_$ (att2)
Se realizo
_$

Lee Mac 发表于 2022-7-6 07:43:35

第三种变化:
(eval
   (list 'defun (read (strcat "att" (itoa i))) '()
      '(princ "\nSe realizo")
      '(princ)
   )
)

David Bethel 发表于 2022-7-6 07:58:19

或者没有defun:
 

(eval (list (read (strcat "(alert \"se realizo\")"))))

 
-大卫

svorgodne 发表于 2022-7-6 08:17:48

非常感谢大家。它总是很有帮助。它彻底解决了我的问题。我希望我也能回答一次问题。
 
干杯
塞尔吉奥

Lee Mac 发表于 2022-7-6 08:28:37

不客气,塞尔吉奥!
页: [1]
查看完整版本: 顺序函数