乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 7|回复: 7

[编程交流] ; 错误:没有函数定义

[复制链接]

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 20:10:03 | 显示全部楼层 |阅读模式
程序是插入一个块,一切正常,但运行后
在命令提示符中,它给出“错误:无函数定义:nil”
(DTR)是一种以用户界面DCL提供的列表格式存储信息的功能
 
  1. (defun c:getDialogInput (/ input aone )
  2.    (setq input (DTR))
  3. (setq aone (getpoint "\nSelect pickint to insert sheet: "))
  4. (cond                               
  5.     ((equal input  '("frptitle" "LIGHT")) progn(
  6.                                                  (command "-insert" "//Mailserver/d/backup/TIT_BLOCK_FRP"   aone "" ""   0 )
  7.                                  )
  8.                                              )       
  9.     ((equal input '("fabtitle" "LIGHT"))progn(
  10.                                                (command "-insert" "//Mailserver/d/backup/TIT_BLOCK_FAB"   aone "" ""  0 )
  11.                                                                                                                 ))
  12.     ((equal input '("quotitle" "LIGHT"))progn(
  13.                                               (command "-insert" "//Mailserver/d/backup/TIT_BLOCK_QUO" aone "" ""  0)
  14.                                                                                                        ))
  15.                      ( T (princ "Nothing")  )   
  16. )
  17. )
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-5 20:23:06 | 显示全部楼层
  1. (defun c:getDialogInput ( / input aone )
  2. (setq input (DTR))
  3. (setq aone (getpoint "\nSelect pickint to insert sheet: "))
  4. (cond               
  5.    ( (equal input '("frptitle" "LIGHT"))
  6.      (command "-insert" "//Mailserver/d/backup/TIT_BLOCK_FRP" aone "" "" 0)
  7.    )   
  8.    ( (equal input '("fabtitle" "LIGHT"))
  9.      (command "-insert" "//Mailserver/d/backup/TIT_BLOCK_FAB" aone "" "" 0)
  10.    )
  11.    ( (equal input '("quotitle" "LIGHT"))
  12.      (command "-insert" "//Mailserver/d/backup/TIT_BLOCK_QUO" aone "" "" 0)
  13.    )
  14.    (T (princ "Nothing")
  15.    )   
  16. )
  17. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 20:35:15 | 显示全部楼层
问题在于这些表达:
  1. progn(
  2. (command "-insert" "//Mailserver/d/backup/TIT_BLOCK_FRP" aone "" "" 0 )
  3. )

 
由于命令函数始终返回nil,因此解释器随后将尝试计算表达式:
  1. (nil)

导致错误“无函数定义:nil”。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 20:38:39 | 显示全部楼层
这是一种重写函数的方法,因为我觉得很无聊
 
  1. (defun c:getDialogInput  (/ input aone f)
  2. (if
  3.    (and (setq input (DTR))
  4.          (setq f (assoc (car input) '(("frptitle" "LIGHT" "FRP") ("fabtitle" "LIGHT" "FAB") ("quotitle" "LIGHT" "QUO"))))
  5.         (setq aone (getpoint "\nSelect pickint to insert sheet: ")))
  6.     (command "-insert" (strcat "//Mailserver/d/backup/TIT_BLOCK_" (caddr f)) aone ""  "" 0)
  7.     (princ "Nothing")
  8.     )
  9. (princ)
  10. )
回复

使用道具 举报

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 20:52:45 | 显示全部楼层
 
谢谢你澄清我的疑问。。
回复

使用道具 举报

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 20:53:13 | 显示全部楼层
感谢您解决问题:)
回复

使用道具 举报

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 21:05:26 | 显示全部楼层
 
谢谢你的建议:D
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 21:15:23 | 显示全部楼层
 
不客气
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 09:29 , Processed in 0.756525 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表