乐筑天下

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

[编程交流] 再次加载最新的lisp fil

[复制链接]

96

主题

322

帖子

234

银币

后起之秀

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

铜币
474
发表于 2022-7-5 15:04:44 | 显示全部楼层 |阅读模式
嘿伙计们
是否有重新加载从某个lsp文件加载的最新lisp文件的方法??
回复

使用道具 举报

15

主题

315

帖子

361

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 15:23:14 | 显示全部楼层
我有一个。我桌面上加载其他有用lisp文件的lsp文件。
 
  1. (defun openuseful ( / )
  2. (load "...\\lisp\\cabling\\movetofrom.lsp")
  3. (load "...\\lisp\\alp\\alp3.lsp")
  4. (load "...\\lisp\\furn\\furn_v5.lsp")
  5. ...
  6. )
  7. (openuseful)

 
也可以使Autocad自动加载您提供的文件列表。
 
但是lisp不记得哪个函数在哪个文件上。
就像你不能写函数一样
(defun detecttcurrentlispfile(/)…)。这个问题对lisp来说没有意义。
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

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

铜币
362
发表于 2022-7-5 15:27:29 | 显示全部楼层
 
你到底是什么意思?
 
您是否正在加载lisp文件,然后在您工作时,有人正在更新代码,您希望在文件更新后立即加载它?
回复

使用道具 举报

96

主题

322

帖子

234

银币

后起之秀

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

铜币
474
发表于 2022-7-5 15:40:57 | 显示全部楼层
 
是的,这正是我需要的。(更新代码后)
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

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

铜币
362
发表于 2022-7-5 15:51:06 | 显示全部楼层
你想让它自动做到这一点,没有人机交互?
 
我想你需要一个反应器和一个可以读取文件日期的函数。(这里可能有一些例子)
 
1、加载函数,读取/存储文件上的文件日期。
2、让反应堆每隔一段时间(30秒?)检查一次文件,如果文件日期/时间较新,请重复步骤1。
回复

使用道具 举报

48

主题

657

帖子

33

银币

限制会员

铜币
-1
发表于 2022-7-5 15:56:43 | 显示全部楼层
我用这个:
 
 
  1. (defun c:appreload ()
  2. ;;Re-load named LISP files
  3. (setq mylispfolder "c:\\Users\\.....\\......\")
  4. (setq myfiles (vl-directory-files mylispfolder "*.lsp" nil)) ;;myfiles is list of files in mylispfolder location
  5. (setq mylistlength (length myfiles)) ;;count of number of lsp files
  6. (setq acount -1)
  7. (repeat mylistlength
  8.    (setq acount (1+ acount))
  9.    (setq FailedtoLoad (strcat (nth acount myfiles) " failed to load"))
  10.    (load (strcat mylispfolder (nth acount myfiles)) FailedtoLoad) ;;Loads each LISP file
  11. )
  12. )

 
 
它将加载一个位置内的所有LISP文件。我在更新LIPS“appeload”及其重新加载时使用它(我有一个文件夹,里面有我所有的lisp)
 
但是,它不会在LISP文件更新后立即重新加载。您仍然需要键入命令。对于所有需要的时间和将需要的时间来研究和编写一个代码来自动做到这一点,这是值得的努力?
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:07:45 | 显示全部楼层
如果你的写作和测试只是做一个临时的defun大约需要30秒。
 
  1. (defun c:aaa ()(load "mynewprogram"))
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-15 00:47 , Processed in 0.950954 second(s), 66 queries .

© 2020-2025 乐筑天下

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