尘心(上学沉淀版) 2023-08-08 08:39 采纳率: 0%
浏览 3

AutoLisp问题怎么解决

程序员们,初学者遇到些问题,这个里面哪个错了啊,怎么改正呢?


(defun main.lisp (p)
(setq #t 20
    #cell 50
    #i 1
    #j 1) 
(while (<= #i (* m t))
    (while (<= #j (* n t))
        (setq #h (1+ (rem ((1- i) cell)))
        (setq #w (1+ (rem ((1- j) cell)))
        (setq #num1 (floor ((/ (1- i) cell))
              #num2 (floor ((/ (1- j) cell)))
        (setq #gap (/ (cell- m) (/ (* m t) (1- cell))))
        (setq #col (floor  (h+ (* num1 gap)))
              #row (floor  (w+ (* num2 gap))))
(setq #p (command "array" i j "")
      #a (command "array" col row ""))
(setq #a p)
)
  • 写回答

2条回答 默认 最新

  • 玥轩_521 2023-08-08 09:02
    关注

    援引GPT回答:
    在给变量赋值的时候,应该使用setq而不是setq #变量名 值的形式。此外,还有一些括号没有正确关闭,导致语法错误。以下是修改后的代码:

    (defun main.lisp (p)
      (setq t 20
            cell 50
            i 1
            j 1) 
      (while (<= i (* m t))
        (while (<= j (* n t))
          (setq h (1+ (rem (1- i) cell)))
          (setq w (1+ (rem (1- j) cell)))
          (setq num1 (floor (/ (1- i) cell)))
          (setq num2 (floor (/ (1- j) cell)))
          (setq gap (/ (- m cell) (/ (* m t) (1- cell))))
          (setq col (floor (+ h (* num1 gap))))
          (setq row (floor (+ w (* num2 gap))))
          (setq p (command "array" i j ""))
          (setq a (command "array" col row ""))
          (setq a p)
          )
        )
      )
    

    请注意,我修改了变量名为小写字母,因为在Lisp中,大写字母通常用于特殊变量或函数名。另外,我也添加了一些缺失的括号来修复语法错误。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月8日

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境