harilalmn 发表于 2022-7-6 10:01:33

基本乘法表

大家好,
我只是Autolisp世界中的一个新生儿。所以,如果我的编码太不成熟,请原谅。。。
 
我试图创建一个生成乘法表的basic程序。但有点不对劲。。你能帮帮我吗?
 

(defun c:mtlb()
(setq n (getint "\nEnter number:"))
(foreach a (list 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)
   (progn
   (setq string (strcat((itoa n) " x " (itoa a) "=" (* n a))))
   (princ string)
   )
)
)

Guest kruuger 发表于 2022-7-6 10:11:55

立即尝试:
(defun c:MTLB (/ n a string)
(setq n (getint "\nEnter number: "))
(foreach a (list 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)
   (setq string
   (strcat
       "\n" (itoa n) " x " (itoa a) " = " (itoa (* n a))
      )
   )
   (princ string)
)
(princ)
)
克鲁格

harilalmn 发表于 2022-7-6 10:30:31

哇!
效果很好。。。!谢谢。。
所以,我希望,问题是;
1、未声明符号
2、不必要地使用程序
正当

Guest kruuger 发表于 2022-7-6 10:31:43

程序可以使用progn和未声明的变量(错误做法)。
主要问题在于:
克鲁格

harilalmn 发表于 2022-7-6 10:42:30

谢谢你,克鲁格。。。我现在明白我的错误了。。。谢谢你的解释。

pBe 发表于 2022-7-6 10:56:40

变体
 
3

Lee Mac 发表于 2022-7-6 11:08:52

我以为你在找桌子
 
(defunc:MTLB(defundefun(s c l)红色](如果(
页: [1]
查看完整版本: 基本乘法表