乐筑天下

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

[编程交流] 打印变量#039;s值

[复制链接]
ajs

16

主题

36

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 15:04:26 | 显示全部楼层 |阅读模式
你好,
 
我试图找出如何将变量的值打印到命令行,而不让它重复。
 
例如,假设变量MyVar包含以下字符串:12 x 5,我想打印到命令行。
 
当我尝试这个:(Princ MyVar)时,信息打印两次:12 x 5“12 x 5”
我一直在玩弄控制代码,但我无法避免返回变量。
 
在我模糊的理解中,我知道这与lisp计算表达式的方式有关。
 
有没有简单的方法?
 
谢谢你的建议
 
AJS公司
回复

使用道具 举报

4

主题

940

帖子

961

银币

初来乍到

Rank: 1

铜币
12
发表于 2022-7-6 15:13:58 | 显示全部楼层
(提示MyVar)(普林斯)也许?
回复

使用道具 举报

4

主题

327

帖子

324

银币

初来乍到

Rank: 1

铜币
19
发表于 2022-7-6 15:19:03 | 显示全部楼层
使用末尾的(princ)
同时查找prin1、提示和打印
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:25:18 | 显示全部楼层
如果我错了,请纠正我,但我认为重复的原因是使用“princ”的操作返回提供给它的变量或字符串的值,但princ本身也会将提供的变量打印到命令行。
 
当您用另一个(princ)跟随(princ[string])时,最后一个返回是一个重复的空字符串,因为没有为princ赋值,因此没有打印值。
 
因此,这抑制了第一个princ的返回,并且仅打印分配给第一个princ的值。
 
*希望这些信息是正确的*
 
干杯
 
回复

使用道具 举报

10

主题

109

帖子

99

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 15:31:29 | 显示全部楼层
约翰先告诉我,但你可能需要进一步的解释。该死的李,我输了两次!
 
ajs,lpsiefert的解决方案会很好,下面是原因。Autolisp程序的默认行为是显示上次调用的函数的值。避免不需要的显示的常用方法是使用无参数的(princ)关闭程序。如果运行此程序:
 
(定义c:tmv(/myvar1 myvar2)
(setq myvar1“12 x 5”)
(setq myvar2“5 x 12”)
(princ myvar1)
(ERPI)
(princ myvar2)
)
 
它显示:
 
12 x 5
5 x 12
“5 x 12”
 
如果您在中添加(princ):
 
(定义c:tmv(/myvar1 myvar2)
(setq myvar1“12 x 5”)
(setq myvar2“5 x 12”)
(princ myvar1)
(ERPI)
(princ myvar2)
(普林斯)
)
 
它显示:
 
12 x 5
5 x 12
 
我希望这有帮助。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:40:02 | 显示全部楼层
引自ACAD:
 
回复

使用道具 举报

4

主题

327

帖子

324

银币

初来乍到

Rank: 1

铜币
19
发表于 2022-7-6 15:43:23 | 显示全部楼层
长版本
 
  1. (DEFUN C:PV ()
  2.   (setq acaddoc (vla-get-activedocument (vlax-get-acad-object)))
  3.   (setq util (vla-get-utility acaddoc))
  4. (vla-prompt util "\nabc")
  5.   (princ)
  6.   )
回复

使用道具 举报

ajs

16

主题

36

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 15:50:26 | 显示全部楼层
感谢您的解决方案!
 
就我个人而言,我想说的是,学习Lisp确实与我内部组织信息的方式相吻合。
 
我在Crystal Reports方面有一定的能力,但我在Lisp中获得的知识似乎能够以一种比我所学的任何其他编程语言更好的方式传递信息。
 
所以我想我想说的是,在这个论坛上慷慨提供给我的建议不仅实用,而且是一种真正的快乐。
 
非常感谢,
 
AJS公司
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:57:23 | 显示全部楼层
没问题AJS-通常我在发布信息时也会学到一些新东西
 
干杯
 
回复

使用道具 举报

4

主题

327

帖子

324

银币

初来乍到

Rank: 1

铜币
19
发表于 2022-7-6 15:59:49 | 显示全部楼层
组织是绘画和编程的关键,也是工作和生活的关键。
Lisp代表列表处理,它每行执行一行,因此不会在A点到B点之间跳跃。如果你训练自己这样思考,你将能够更快、更正确地解决问题,并获得更大的成功。我无法告诉你我遇到过多少绘图员和程序员,他们组织得如此松散,以至于他们花在追根究底上的时间比完成工作还要多。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 20:59 , Processed in 0.372012 second(s), 72 queries .

© 2020-2025 乐筑天下

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