桃花源 发表于 2023-8-16 02:51:52

请教action_tile

本帖最后由 highflybir 于 2023-8-29 08:16 编辑

我在看他人的程序,其中一段如下:
(action_tile "lst1"
      (strcat
          "(UpdateList \"lst2\" (setq lst2 (cadr (nth (atoi (setq *Make* $value)) Data))))"
          "(setq *Model*"
          "(set_tile \"lst2\""
          "    (if (< (atoi *Model*) (length lst2)) *Model* \"0\")"
          ")"
          ")"
      )
      )

我觉得 这一段 (action_tile "lst1"   "(UpdateList \"lst2\" (setq lst2 (cadr (nth (atoi (setq *Make* $value)) Data))))")就能实现所要的结果了,为什么还要用到strcat,而且(strcat前为什么不加 "号 ,而且分号太多,有点读不明白,请大家指教。谢谢!

自贡黄明儒 发表于 2023-8-16 07:16:13

这个函数那个位置是字符串,字串联结当然是strcat了。字串中间的“,前面必须加\,表”本身。

桃花源 发表于 2023-8-16 11:14:50

本帖最后由 桃花源 于 2023-8-16 11:21 编辑

自贡黄明儒 发表于 2023-8-16 07:16
这个函数那个位置是字符串,字串联结当然是strcat了。字串中间的“,前面必须加\,表”本身。
谢谢你的回复,不过action_tile "key"后面不是跟函数或者表达式吗?然后函数或表达式要用“ ”括起,为什么strcat前没有括?

自贡黄明儒 发表于 2023-8-16 12:00:03

桃花源 发表于 2023-8-16 11:14
谢谢你的回复,不过action_tile "key"后面不是跟函数或者表达式吗?然后函数或表达式要用“ ”括起,为什 ...
strcat是连接字符串,当然你也可以不用strcat,把后面所有字符串先连接起来。

e2002 发表于 2023-8-16 15:26:55

action_tile 后面的参数最好是简单的一句,太多语句很容易出错。写成 sub function 调用简单明确。
页: [1]
查看完整版本: 请教action_tile