USER2128 发表于 2013-6-14 16:01:51

赋值给两个不同名称的中文变量,结果却视为同一变量

这事发生在用中文变量名称的时候,明明是赋值给两个不同名称的变量,结果却视为同一变量。
测试函数如下:(defun c:tt ()
(setq 下法兰边距   "1"
上法兰扁钢高度 "2"
)
(princ (strcat "\n下法兰边距= "   下法兰边距";"))
(princ (strcat "\t上法兰扁钢高度= " 上法兰扁钢高度";"))
(setq 上法兰扁钢高度 "3"
下法兰边距   "4"
)
(princ (strcat "\n下法兰边距= "   下法兰边距";"))
(princ (strcat "\t上法兰扁钢高度= " 上法兰扁钢高度";"))
(setq 下法兰边距a   "5"
上法兰扁钢高度b "6"
)
(princ (strcat "\n下法兰边距a = "   下法兰边距a";"))
(princ (strcat "\t上法兰扁钢高度b = " 上法兰扁钢高度b";"))
(princ)
)
;;; 运行结果如下:
_$ (c:tt)

下法兰边距= 2;上法兰扁钢高度= 2;
下法兰边距= 4;上法兰扁钢高度= 4;
下法兰边距a = 5;上法兰扁钢高度b = 6;
_$
真是不可理解,不知各位高手是否碰到过类似问题
是不是CAD中文支持中的BUG呢


自贡黄明儒 发表于 2013-6-14 16:42:34

本帖最后由 自贡黄明儒 于 2013-6-14 16:45 编辑

下法兰边距 太长了
变量名字母长度不要超过6个

USER2128 发表于 2013-6-14 17:55:51

自贡黄明儒 发表于 2013-6-14 16:42 static/image/common/back.gif
下法兰边距 太长了
变量名字母长度不要超过6个

不对呀,变量:下法兰边距a、上法兰扁钢高度b反而运行正确

USER2128 发表于 2013-6-14 18:05:49

再试:
在变量:“下法兰边距”、“上法兰扁钢高度”尾后加上相同字母,结果也是正确的;(setq 下法兰边距a   "5"
        上法兰扁钢高度a "6"
        )
(princ (strcat "\n下法兰边距a = "   下法兰边距a        ";"))
(princ (strcat "\t上法兰扁钢高度a = " 上法兰扁钢高度a        ";"))

;;; 运行结果:
下法兰边距a = 5;        上法兰扁钢高度a = 6;
结果j 正确的

lijiao 发表于 2013-12-26 09:05:26

_$ (c:tt)

下法兰边距= 1;        上法兰扁钢高度= 2;
下法兰边距= 4;        上法兰扁钢高度= 3;
下法兰边距a = 5;        上法兰扁钢高度b = 6;
_$

lijiao 发表于 2013-12-27 14:01:41

AutoCAD Mechanical 2014 - 简体中文 (Simplified Chinese)

linjian257 发表于 2014-8-4 18:38:27

CAD中文BUG,中文变量名两个,应该只认一个,带个英文名就不会有错 了

sicky111 发表于 2015-3-27 10:25:58

这里解释的很清楚了
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=108805&fromuid=202795

USER2128 发表于 2015-3-28 07:53:20

sicky111 发表于 2015-3-27 10:25 static/image/common/back.gif
这里解释的很清楚了
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=108805&fromuid=202795

程序中采用中文字符变量,刚开始时很不习惯,但有些专业性强的词汇,英语水平达不到,采用中文的好处是显而易见的。
我现在将中文字符夹在中间,如采用变量“_中文变量a”、“_中文变量b”等,可以正确区别,程序运行正常

ynhh 发表于 2015-11-5 10:02:39

程序中还是最好别用中文去命名变量、函数之类的
页: [1] 2
查看完整版本: 赋值给两个不同名称的中文变量,结果却视为同一变量