明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1321|回复: 4

[已解答] 如何将字符串赋值给变量

[复制链接]
发表于 2013-10-26 21:55 | 显示全部楼层 |阅读模式
(setq lj (getstring "\n设置AutoCAD文件夹路径: <e:\\documents\\autocad>\n"))
    (if (not lj) (setq lj "e:\\documents\\autocad"))

上面的函数运行后,如果不输入的话,lj的赋值失败,应该如何修改。

"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2013-10-27 08:45 | 显示全部楼层
把你的
  1. (if (not lj) (setq lj "e:\\documents\\autocad"))
改成
  1. (if (= lj "") (setq lj "e:\\documents\\autocad"))
就OK了。因为第一句即使什么都不输,光按了个回车键,你后一行代码中的if条件判断句结果都是nil,根本就不执行后面的默认赋值语句。

点评

getstring空响应的返回值是空串,不是nil。  发表于 2013-10-27 09:47
发表于 2013-10-27 10:36 | 显示全部楼层
lengyunfeng 发表于 2013-10-27 08:45
把你的改成就OK了。因为第一句即使什么都不输,光按了个回车键,你后一行代码中的if条件判断句结果都是nil, ...

To二楼点评,getstring返回值的确是空串,我在二楼里的意思是if语句里的条件判断式返还结果是nil,也就是not 空串返回的是nil的意思。
发表于 2013-10-27 15:19 | 显示全部楼层
沙发上的是正解,一般情况,如果IF不能按你的预期那样跳转,你可以在if前边用princ(vl-princ-to-string ...))
把那个关键的变量弄出来看看,这可以帮助你分析问题到底出在IF之前,还是IF条件判断上还是条件处理上
 楼主| 发表于 2013-10-27 21:07 | 显示全部楼层
感谢楼上的解答,分析的很透彻啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-28 17:04 , Processed in 0.634327 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表