明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3059|回复: 10

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

[复制链接]
发表于 2013-6-14 16:01 | 显示全部楼层 |阅读模式
这事发生在用中文变量名称的时候,明明是赋值给两个不同名称的变量,结果却视为同一变量。
测试函数如下:
  1. (defun c:tt ()
  2.   (setq 下法兰边距     "1"
  3.   上法兰扁钢高度 "2"
  4.   )
  5.   (princ (strcat "\n下法兰边距  = "     下法兰边距  ";"))
  6.   (princ (strcat "\t上法兰扁钢高度  = " 上法兰扁钢高度  ";"))
  7.   (setq 上法兰扁钢高度 "3"
  8.   下法兰边距     "4"
  9.   )
  10.   (princ (strcat "\n下法兰边距  = "     下法兰边距  ";"))
  11.   (princ (strcat "\t上法兰扁钢高度  = " 上法兰扁钢高度  ";"))
  12.   (setq 下法兰边距a     "5"
  13.   上法兰扁钢高度b "6"
  14.   )
  15.   (princ (strcat "\n下法兰边距a = "     下法兰边距a  ";"))
  16.   (princ (strcat "\t上法兰扁钢高度b = " 上法兰扁钢高度b  ";"))
  17.   (princ)
  18.   )
  19. ;;; 运行结果如下:
  20. _$ (c:tt)

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


发表于 2013-6-14 16:42 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2013-6-14 16:45 编辑

下法兰边距 太长了
变量名字母长度不要超过6个
 楼主| 发表于 2013-6-14 17:55 | 显示全部楼层
自贡黄明儒 发表于 2013-6-14 16:42
下法兰边距 太长了
变量名字母长度不要超过6个

不对呀,变量:下法兰边距a、上法兰扁钢高度b反而运行正确
 楼主| 发表于 2013-6-14 18:05 | 显示全部楼层
再试:
在变量:“下法兰边距”、“上法兰扁钢高度”尾后加上相同字母,结果也是正确的;
  1.   (setq 下法兰边距a     "5"
  2.         上法兰扁钢高度a "6"
  3.         )
  4.   (princ (strcat "\n下法兰边距a = "     下法兰边距a        ";"))
  5.   (princ (strcat "\t上法兰扁钢高度a = " 上法兰扁钢高度a        ";"))

  6. ;;; 运行结果:
  7. 下法兰边距a = 5;        上法兰扁钢高度a = 6;
  8. 结果j 正确的
发表于 2013-12-26 09:05 | 显示全部楼层
_$ (c:tt)

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

点评

我的测试平台是:CAD2012中文32位,请问你所测试环境。  发表于 2013-12-27 07:56
发表于 2013-12-27 14:01 | 显示全部楼层
AutoCAD Mechanical 2014 - 简体中文 (Simplified Chinese)
发表于 2014-8-4 18:38 | 显示全部楼层
CAD中文BUG,中文变量名两个,应该只认一个,带个英文名就不会有错 了
发表于 2015-3-27 10:25 | 显示全部楼层
 楼主| 发表于 2015-3-28 07:53 | 显示全部楼层
sicky111 发表于 2015-3-27 10:25
这里解释的很清楚了
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=108805&fromuid=202795

程序中采用中文字符变量,刚开始时很不习惯,但有些专业性强的词汇,英语水平达不到,采用中文的好处是显而易见的。
我现在将中文字符夹在中间,如采用变量“_中文变量a”、“_中文变量b”等,可以正确区别,程序运行正常
发表于 2015-11-5 10:02 | 显示全部楼层
程序中还是最好别用中文去命名变量、函数之类的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 12:05 , Processed in 0.264114 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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