乐筑天下

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

[编程交流] 找不到线的中点

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:21:35 | 显示全部楼层
 
值得一提的是,Visual LISP(vl bt)函数将执行类似的回溯:
  1. (defun c:test ( / *error* a b c d )
  2.    (setq *error* '(( m ) (vl-bt)))
  3.    (setq a
  4.        (setq b
  5.            (setq c
  6.                (setq d (/ 1.0 0))
  7.            )
  8.        )
  9.    )
  10. )
  1. Command: test Backtrace:
  2. [0.58] (VL-BT)
  3. [1.54] (#<SUBR @000000002c5dc610 -lambda-> "divide by zero")
  4. [2.50] (ill-fun-hk "divide by zero")
  5. [3.45] (((M) (VL-BT)) "divide by zero")
  6. [4.40] (_call-err-hook ((M) (VL-BT)) "divide by zero")
  7. [5.34] (sys-error "divide by zero")
  8. :ERROR-BREAK.29 "divide by zero"
  9. [6.26] (/ 1.0 0)
  10. [7.20] (C:TEST) LAP+28
  11. [8.15] (#<SUBR @000000002c5dc5e8 -rts_top->)
  12. [9.12] (#<SUBR @000000002c598700 veval-str-body> "(C:TEST)" T #<FILE internal>)
  13. :CALLBACK-ENTRY.6 (:CALLBACK-ENTRY)
  14. :ARQ-SUBR-CALLBACK.3 (nil 0)
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 18:23:45 | 显示全部楼层
李,
 
是的,我试了一段时间,但我发现它从有点神秘到非常神秘。
 
旧版本的主要缺点是“错误:参数类型错误”
 
它不会告诉你呼叫期望的是什么
只是这不正确。
 
我一直觉得errno应该被扩展和/或允许成熟为一个强大的已知错误列表。
 
-大卫
 
顺便说一句,我试过Notepad++,但效果并不好。我发现它不是一个真正的ASCII编辑器,因为它定期保留制表符。
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 18:26:41 | 显示全部楼层
有机会分享吗?
 
我有大约5年的ACAD经验,3年的lisp使用经验和几个月的lisp代码编写实践,当我读到你关于2000年的帖子时,我感觉自己完全是个新手。
我对编程相当陌生(因为我开始对每次在论坛上要求一个完整的例程感到难过),所以如果可能的话,我会尽量减少这类帖子的数量。
现在我练习我的格式化和调试技能,但这些当然会带来更多的额外问题。
 
很抱歉这些离题帖子。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:30:15 | 显示全部楼层
 
N++将保留已经存在的制表符,但它也提供了在“编辑>空白操作>制表符到空格”下将其转换为空格的选项。
 
您可以通过转到“设置”>“首选项”>“选项卡设置”>“默认设置”避免在编写代码时插入选项卡,并确保选中“按空格替换”。
 
 
我似乎记得几年前大卫在这里发布了这个惯例;或者,这里是几年前的一个类似例程。
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 18:33:21 | 显示全部楼层
李,
我以前见过!
也许现在是我尝试的时候了。但我仍然要问,是否可以配置样式列表以增加括号?我的意思是这样的:
  1. '(
  2.   ("[code ]"            "[/ code]" )  ;; Container
  3.   ("[color =DARKRED]"   "[/ color]")  ;; Quotes/Dots
  4. [color=RED] ("[color =RED]"       "[/ color]")  ;; 1st level Brackets
  5.   ("[color =GREEN]"     "[/ color]")  ;; 2nd level Brackets
  6.   ("[color =BLUE]"      "[/ color]")  ;; 3rd level Brackets
  7.   ("[color =CYAN]"      "[/ color]")  ;; 4th level Brackets[/color]
  8.   ("[color =#990099]"   "[/ color]")  ;; Multiline Comments
  9.   ("[color =#990099]"   "[/ color]")  ;; Single Comments
  10.   ("[color =#a52a2a]"   "[/ color]")  ;; Strings
  11.   ("[color =BLUE]"      "[/ color]")  ;; Protected Symbols
  12.   ("[color =#009900]"   "[/ color]")  ;; Integers
  13.   ("[color =#009999]"   "[/ color]")  ;; Reals
  14. )

至于其他讨论,我发现N++在使用按折叠缩进插件进行格式化时非常灵活。我还看到了一个
一个俄罗斯人自动将新修改的代码从N++重新加载到ACAD(就像VLIDE的控制台一样)-我不知道他是怎么做到的。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:37:47 | 显示全部楼层
不使用当前代码,但可以修改程序以适应此功能。
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 18:41:55 | 显示全部楼层
你可以把它看作一个想法。
 
编辑:
我已经开始检查了——参数、变量和括号的数量让我震惊。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 18:44:15 | 显示全部楼层
我猜LSP2HTML始于2001年。LSP2BBC 2005和2009年修改。
 
 
只是提醒一下,这只适用于论坛消息区域。
 
作为一个测试,看看什么测试。lsp转换为html格式,如下所示
 
  1. <PRE><TT><FONT COLOR="FFFFFF">
  2. <FONT COLOR="FFFFFF">   1| </FONT>(</FONT><FONT COLOR="FF9900">defun</FONT> </FONT><FONT COLOR="FFFFFF">c:test </FONT><FONT COLOR="FF00FF">()
  3. <FONT COLOR="FF00FF">   2| </FONT>  (</FONT><FONT COLOR="FF9900">setq</FONT> </FONT><FONT COLOR="FFFFFF">*error* nil</FONT><FONT COLOR="FF00FF">)
  4. <FONT COLOR="FF00FF">   3| </FONT>  (</FONT><FONT COLOR="FF9900">setq</FONT> </FONT><FONT COLOR="FFFFFF">a
  5. <FONT COLOR="0000FF">   4| </FONT>    </FONT><FONT COLOR="0000FF">(</FONT><FONT COLOR="FF9900">setq</FONT> </FONT><FONT COLOR="FFFFFF">b
  6. <FONT COLOR="00FFFF">   5| </FONT>      </FONT><FONT COLOR="00FFFF">(</FONT><FONT COLOR="FF9900">setq</FONT> </FONT><FONT COLOR="FFFFFF">c
  7. <FONT COLOR="00FF00">   6| </FONT>        </FONT><FONT COLOR="00FF00">(</FONT><FONT COLOR="FF9900">setq</FONT> </FONT><FONT COLOR="FFFFFF">d </FONT><FONT COLOR="FFFF00">(</FONT><FONT COLOR="FF9900">substr</FONT> </FONT><FONT COLOR="FFFFFF">1 1 1</FONT><FONT COLOR="FFFF00">)</FONT><FONT COLOR="00FF00">)</FONT><FONT COLOR="00FFFF">)</FONT><FONT COLOR="0000FF">)</FONT><FONT COLOR="FF00FF">)
  8. <FONT COLOR="FF00FF">   7| </FONT>  </FONT><FONT COLOR="FFFFFF">)  
  9. </FONT></PRE></TT>

-大卫
LSP2BBC。LSP
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 18:45:50 | 显示全部楼层
 
谢谢我想它就在那里,只是没找到。N++的对等社区(Gitter)相当弱。
 
谢谢-大卫
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 18:50:56 | 显示全部楼层
大卫,
这东西太棒了,非常感谢!
 
我刚刚在我之前的示例中进行了测试:
  1. [b][color=BLACK]([/color][/b]if
  2. [b][color=FUCHSIA]([/color][/b]and [color=#8b4513]; Evaluate arguments from user within the [color=#2f4f4f]"and"[/color] function[/color]
  3.         [b][color=NAVY]([/color][/b]if
  4.                 [b][color=MAROON]([/color][/b]not [b][color=GREEN]([/color][/b]Stuff to do #1 [b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  5.                 [b][color=MAROON]([/color][/b]princ [color=#2f4f4f]"\nTheres something wrong in #1 try again!"[/color][b][color=MAROON])[/color][/b]
  6.                 [b][color=MAROON]([/color][/b]Stuff to do #1 [b][color=MAROON])[/color][/b]
  7.         [b][color=NAVY])[/color][/b]
  8.         [b][color=NAVY]([/color][/b]if
  9.                 [b][color=MAROON]([/color][/b]not [b][color=GREEN]([/color][/b]Stuff to do #2 [b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  10.                 [b][color=MAROON]([/color][/b]princ [color=#2f4f4f]"\nTheres something wrong in #2 try again!"[/color][b][color=MAROON])[/color][/b]
  11.                 [b][color=MAROON]([/color][/b]Stuff to do #2 [b][color=MAROON])[/color][/b]
  12.         [b][color=NAVY])[/color][/b]
  13.         [b][color=NAVY]([/color][/b]if
  14.                 [b][color=MAROON]([/color][/b]not [b][color=GREEN]([/color][/b]Stuff to do #3 [b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  15.                 [b][color=MAROON]([/color][/b]princ [color=#2f4f4f]"\nTheres something wrong in #3 try again!"[/color][b][color=MAROON])[/color][/b]
  16.                 [b][color=MAROON]([/color][/b]Stuff to do #3 [b][color=MAROON])[/color][/b]
  17.         [b][color=NAVY])[/color][/b]
  18. [b][color=FUCHSIA])[/color][/b][color=#8b4513]; All arguments are evaluated, the code proceeds[/color]
  19. [b][color=FUCHSIA]([/color][/b]while somethingisdone [color=#8b4513]; example: a selection was made and the same must be copied or moved within the while loop[/color]
  20.         [b][color=NAVY]([/color][/b]progn
  21.                 [b][color=MAROON]([/color][/b]while
  22.                         [b][color=GREEN]([/color][/b]not [b][color=BLUE]([/color][/b]setq pickline [b][color=RED]([/color][/b]entsel [color=#2f4f4f]"\nPick a line"[/color][b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
  23.                         pickline
  24.                         [b][color=GREEN]([/color][/b]cond
  25.                                 [b][color=BLUE]([/color][/b]   [b][color=RED]([/color][/b]= 7 [b][color=PURPLE]([/color][/b]getvar 'errno[b][color=PURPLE])[/color][/b][b][color=RED])[/color][/b]
  26.                                         [b][color=RED]([/color][/b]princ [color=#2f4f4f]"\nYou must select a line."[/color][b][color=RED])[/color][/b]
  27.                                 [b][color=BLUE])[/color][/b]
  28.                                 [b][color=BLUE]([/color][/b]   [b][color=RED]([/color][/b]null pickline[b][color=RED])[/color][/b]
  29.                                         [b][color=RED]([/color][/b]princ [color=#2f4f4f]"\nYou missed, try again."[/color][b][color=RED])[/color][/b]
  30.                                 [b][color=BLUE])[/color][/b]
  31.                         [b][color=GREEN])[/color][/b]
  32.                 [b][color=MAROON])[/color][/b][color=#8b4513]; to exit this loop and continue a line must be picked[/color]
  33.                 [b][color=MAROON]([/color][/b]We got everything we need from Stuff #1, #2 and #3, now the code does its job... [b][color=MAROON])[/color][/b]
  34.         [b][color=NAVY])[/color][/b][color=#8b4513]; the code did its job, exiting with my favourite ESC key, and don't forget the error handling if needed![/color]
  35. [b][color=FUCHSIA])[/color][/b]
  36. [b][color=BLACK])[/color][/b][color=#8b4513];if[/color]

我不认为有了这种格式,它可以得到任何进一步!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 23:29 , Processed in 1.224982 second(s), 70 queries .

© 2020-2025 乐筑天下

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