乐筑天下

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

[编程交流] 问题:设置多个var

[复制链接]

49

主题

1246

帖子

1210

银币

后起之秀

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

铜币
254
发表于 2022-7-6 12:06:50 | 显示全部楼层 |阅读模式
在我的VisualLISP书的第二章中,有一个简单的问题。。。。这是设置变量的正确示例吗??
如果这是正确的,那么这不是一种更有效的方法吗
  1. (setq nbr1 5)
  2. (setq nbr2 12)
  3. (setq str1 "text")
回复

使用道具 举报

4

主题

940

帖子

961

银币

初来乍到

Rank: 1

铜币
12
发表于 2022-7-6 12:14:53 | 显示全部楼层
是的,这是一个正确的方法
2.同样正确。。。更高效?更多键入
我喜欢类似的东西
  1. (setq nbrl 5
  2.      nbr2 12
  3.      str1 "text"
  4. );setq
比第一个示例更容易阅读(无论如何对我来说)
 
不止一种剥猫皮的方法
回复

使用道具 举报

49

主题

1246

帖子

1210

银币

后起之秀

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

铜币
254
发表于 2022-7-6 12:15:45 | 显示全部楼层
感谢您的批准。我明白你关于语法格式的观点。我使用了编辑器工具中的工具>格式代码,它精确地设置了代码,当然没有注释。再次感谢。。。。接下来还有更多的问题,希望我不会用一堆初级问题来轰炸论坛太多。
回复

使用道具 举报

4

主题

940

帖子

961

银币

初来乍到

Rank: 1

铜币
12
发表于 2022-7-6 12:20:35 | 显示全部楼层
实际上,如果你愿意,它会添加评论
工具>环境选项>Visual Lisp格式选项
在这种情况下,它将为;_setq结束。。。也可以编辑
130652psejb6c10iziju96.jpg
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

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

铜币
362
发表于 2022-7-6 12:24:32 | 显示全部楼层
 
把他们带上来。。。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:30:12 | 显示全部楼层
一定要问问题Styk-关于时间,我们有人问关于学习LISP而不是要求一个。。。
 
至于你的问题。。。
 
拉里说的差不多,两个都是对的。
 
“setq”函数接受任意数量的参数对:
 
来自Visual LISP帮助文件。
 
在我看来,我更喜欢在一个setq中将类似的变量分配分组在一起,并且可能使用另一个语句来进行非相关的变量分配。
 
至于速度:
 
  1. (defun All_in_one (/ a b c d e f g h i j)
  2. (setq a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 8 i 9 j 10))
  3. (defun Separate (/ a b c d e f g h i j)
  4. (setq a 1)
  5. (setq b 2)
  6. (setq c 3)
  7. (setq d 4)
  8. (setq e 5)
  9. (setq f 6)
  10. (setq g 7)
  11. (setq h
  12. (setq i 9)
  13. (setq j 10))
  14. (defun c:test nil
  15. (Benchmark
  16.    '(
  17.      (All_in_one)
  18.      (Separate)
  19.      )
  20.    )
  21. (princ))

这里面真的没有多少。
 
回复

使用道具 举报

49

主题

1246

帖子

1210

银币

后起之秀

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

铜币
254
发表于 2022-7-6 12:36:21 | 显示全部楼层
在我看来,setq函数接受一对参数是合乎逻辑的,因为你有一个函数>函数名>然后是该名称调用的参数。那么,如果一个setq函数有多对参数,那么每个函数名可以调用多个参数吗?例子:
  1. 6

那么,张贴的代码是否正确?再次感谢您的解释。我只是想把这一切都弄明白。
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

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

铜币
362
发表于 2022-7-6 12:38:53 | 显示全部楼层
 
请记住,lisp总是从内到外进行评估。。。
如果你用第一个整数做一些事情,比如加法、减法、乘法等,上面的代码就可以运行了。
 
  1. 7
回复

使用道具 举报

49

主题

1246

帖子

1210

银币

后起之秀

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

铜币
254
发表于 2022-7-6 12:44:07 | 显示全部楼层
啊,我明白了。我把我的例子搞砸了。但是(*3(+2 5))将被视为调用符号nbr1的两个参数,对吗?
回复

使用道具 举报

4

主题

940

帖子

961

银币

初来乍到

Rank: 1

铜币
12
发表于 2022-7-6 12:47:13 | 显示全部楼层
1参数-右括号
nbr1将设置为21
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 10:12 , Processed in 0.335872 second(s), 74 queries .

© 2020-2025 乐筑天下

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