赋值给两个不同名称的中文变量,结果却视为同一变量
这事发生在用中文变量名称的时候,明明是赋值给两个不同名称的变量,结果却视为同一变量。测试函数如下:(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:45 编辑
下法兰边距 太长了
变量名字母长度不要超过6个
自贡黄明儒 发表于 2013-6-14 16:42 static/image/common/back.gif
下法兰边距 太长了
变量名字母长度不要超过6个
不对呀,变量:下法兰边距a、上法兰扁钢高度b反而运行正确 再试:
在变量:“下法兰边距”、“上法兰扁钢高度”尾后加上相同字母,结果也是正确的;(setq 下法兰边距a "5"
上法兰扁钢高度a "6"
)
(princ (strcat "\n下法兰边距a = " 下法兰边距a ";"))
(princ (strcat "\t上法兰扁钢高度a = " 上法兰扁钢高度a ";"))
;;; 运行结果:
下法兰边距a = 5; 上法兰扁钢高度a = 6;
结果j 正确的 _$ (c:tt)
下法兰边距= 1; 上法兰扁钢高度= 2;
下法兰边距= 4; 上法兰扁钢高度= 3;
下法兰边距a = 5; 上法兰扁钢高度b = 6;
_$ AutoCAD Mechanical 2014 - 简体中文 (Simplified Chinese) CAD中文BUG,中文变量名两个,应该只认一个,带个英文名就不会有错 了 这里解释的很清楚了
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=108805&fromuid=202795 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”等,可以正确区别,程序运行正常
程序中还是最好别用中文去命名变量、函数之类的
页:
[1]
2