乐筑天下

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

[编程交流] 特定块/属性lisp

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:17:23 | 显示全部楼层
请尝试以下操作:
  1. ([color=BLUE]defun[/color] c:setattval ( [color=BLUE]/[/color] ent enx idx itm lst sel tag tmp val )
  2.    ([color=BLUE]if[/color] ([color=BLUE]setq[/color] sel ([color=BLUE]ssget[/color] [color=MAROON]"_:L"[/color] '((0 . [color=MAROON]"INSERT"[/color]) (66 . 1))))
  3.        ([color=BLUE]progn[/color]
  4.            ([color=BLUE]repeat[/color] ([color=BLUE]setq[/color] idx ([color=BLUE]sslength[/color] sel))
  5.                ([color=BLUE]setq[/color] ent ([color=BLUE]entnext[/color] ([color=BLUE]ssname[/color] sel ([color=BLUE]setq[/color] idx ([color=BLUE]1-[/color] idx))))
  6.                      enx ([color=BLUE]entget[/color] ent)
  7.                )
  8.                ([color=BLUE]while[/color] ([color=BLUE]=[/color] [color=MAROON]"ATTRIB"[/color] ([color=BLUE]cdr[/color] ([color=BLUE]assoc[/color] 0 enx)))
  9.                    ([color=BLUE]setq[/color] tag ([color=BLUE]strcase[/color] ([color=BLUE]cdr[/color] ([color=BLUE]assoc[/color] 2 enx)))
  10.                          itm ([color=BLUE]assoc[/color] tag lst)
  11.                    )
  12.                    ([color=BLUE]if[/color] itm
  13.                        ([color=BLUE]setq[/color] lst ([color=BLUE]subst[/color] ([color=BLUE]vl-list*[/color] tag enx ([color=BLUE]cdr[/color] itm)) itm lst))
  14.                        ([color=BLUE]setq[/color] lst ([color=BLUE]cons[/color]  ([color=BLUE]list[/color] tag enx) lst))
  15.                    )
  16.                    ([color=BLUE]setq[/color] ent ([color=BLUE]entnext[/color] ent)
  17.                          enx ([color=BLUE]entget[/color]  ent)
  18.                    )
  19.                )
  20.            )
  21.            ([color=BLUE]while[/color]
  22.                ([color=BLUE]progn[/color] ([color=BLUE]setq[/color] tag ([color=BLUE]strcase[/color] ([color=BLUE]getstring[/color] [color=MAROON]"\nSpecify tag: "[/color])))
  23.                    ([color=BLUE]cond[/color]
  24.                        (   ([color=BLUE]=[/color] [color=MAROON]""[/color] tag) [color=BLUE]nil[/color])
  25.                        (   ([color=BLUE]null[/color]  ([color=BLUE]setq[/color] tmp ([color=BLUE]vl-remove-if-not[/color] '([color=BLUE]lambda[/color] ( x ) ([color=BLUE]wcmatch[/color] ([color=BLUE]car[/color] x) ([color=BLUE]strcat[/color] tag [color=MAROON]"*"[/color]))) lst)))
  26.                            ([color=BLUE]princ[/color] ([color=BLUE]strcat[/color] [color=MAROON]"\nNo tags starting with ""[/color] tag [color=MAROON]"" found in selection."[/color]))
  27.                        )
  28.                        (   ([color=BLUE]cdr[/color] tmp)
  29.                            ([color=BLUE]princ[/color]
  30.                                ([color=BLUE]strcat[/color] [color=MAROON]"\n"[/color] ([color=BLUE]itoa[/color] ([color=BLUE]length[/color] tmp)) [color=MAROON]" matches found: "[/color]
  31.                                    ([color=BLUE]substr[/color]  ([color=BLUE]apply[/color] '[color=BLUE]strcat[/color] ([color=BLUE]mapcar[/color] '([color=BLUE]lambda[/color] ( x ) ([color=BLUE]strcat[/color] [color=MAROON]","[/color] ([color=BLUE]car[/color] x))) tmp)) 2)
  32.                                    [color=MAROON]" - Please be more specific."[/color]
  33.                                )
  34.                            )
  35.                        )
  36.                    )
  37.                )
  38.            )
  39.            ([color=BLUE]if[/color] ([color=BLUE]/=[/color] [color=MAROON]""[/color] tag)
  40.                ([color=BLUE]progn[/color]
  41.                    ([color=BLUE]setq[/color] val ([color=BLUE]cons[/color] 1 ([color=BLUE]getstring[/color] [color=BLUE]t[/color] [color=MAROON]"\nSpecify new value: "[/color])))
  42.                    ([color=BLUE]foreach[/color] enx ([color=BLUE]cdar[/color] tmp)
  43.                        ([color=BLUE]if[/color] ([color=BLUE]entmod[/color] ([color=BLUE]subst[/color] val ([color=BLUE]assoc[/color] 1 enx) enx))
  44.                            ([color=BLUE]entupd[/color] ([color=BLUE]cdr[/color] ([color=BLUE]assoc[/color] -1 enx)))
  45.                        )
  46.                    )
  47.                    ([color=BLUE]princ[/color]
  48.                        ([color=BLUE]strcat[/color] [color=MAROON]"\n"[/color]
  49.                            ([color=BLUE]itoa[/color] ([color=BLUE]length[/color] ([color=BLUE]cdar[/color] tmp)))
  50.                            [color=MAROON]" attribute"[/color]
  51.                            ([color=BLUE]if[/color] ([color=BLUE]cddar[/color] tmp) [color=MAROON]"s"[/color] [color=MAROON]""[/color])
  52.                            [color=MAROON]" modified."[/color]
  53.                        )
  54.                    )
  55.                )
  56.            )
  57.        )
  58.    )
  59.    ([color=BLUE]princ[/color])
  60. )

我很高兴这个程序很有用。
回复

使用道具 举报

7

主题

80

帖子

73

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 19:19:28 | 显示全部楼层
 
我真的很喜欢这个huy,我觉得lisp对他来说就像小学数学。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:23:53 | 显示全部楼层
谢谢你,你真是太好了。
回复

使用道具 举报

6

主题

31

帖子

25

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-5 19:26:35 | 显示全部楼层
我做了一个快速的测试,它似乎一切工作所描述的。谢谢李!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:30:45 | 显示全部楼层
我的荣幸。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 19:44 , Processed in 0.420336 second(s), 60 queries .

© 2020-2025 乐筑天下

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