明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: tryhi

[经验] 如何正确使用中文变量或者中文函数

[复制链接]
 楼主| 发表于 2023-3-26 17:29:52 | 显示全部楼层
nuan1989 发表于 2023-3-26 14:29
大佬, 你啥版本, 我下载下来试试

cad2007...
回复 支持 1 反对 0

使用道具 举报

发表于 2023-11-8 15:36:03 | 显示全部楼层
原来如此.坑太多
发表于 2024-6-14 23:47:13 | 显示全部楼层
轮回 发表于 2021-12-29 19:24
看了之后,知道怎么用中文变量了

我每个评论看了一下, 越看越懵了
发表于 2024-6-14 23:51:13 | 显示全部楼层
tryhi 发表于 2021-8-6 10:14
好像也不算是被忽略,哪个先出现,就以哪个为准,比如“后”先出现,“左”变成“后”,还有这个规律也特 ...

然后, 咋用中文变量, 大佬有没结论啊, 猫老师说的 , 加上英文也是不行的.

(setq a左 "1" a后 "2" a审 "3")
(princ (strcat "\n" a左 a后 a审))

也是333
发表于 2024-6-14 23:52:57 | 显示全部楼层
tryhi 发表于 2021-8-11 09:22
不对,实际上只有128,汉字两个字节的编码都大于128

没看懂, 那应该咋用才会保险. 意思是实际上就128个字起作用吗
发表于 2024-6-15 05:33:03 | 显示全部楼层
nuan1989 发表于 2024-6-14 23:52
没看懂, 那应该咋用才会保险. 意思是实际上就128个字起作用吗

不用汉字当变量名最安全

点评

也是, 确实.  发表于 2024-6-15 10:16
发表于 2024-6-15 10:21:52 | 显示全部楼层
那我就给总结个可行的建议吧.

cad2021以上, 支持了utf8, 这个可以任意使用中文变量而不会报错. 2021以下会有各种意想不到的错误.

如果实在想要用中文做变量名称.
平常开发建议用2021以上版本.

编译的时候, 用正则批量替换以下.  
变量名就用点有特征的, 如$开头, 这样正则替换的时候, 也比较好判断是否是变量.

有这个需求的朋友, 可以加我q703973110, 给我留言. 我后面多半会自己弄个自动更名工具, 可以免费分享给你 .
我个人基本就只用中文变量名, 英文不会英文.

点评

谢谢白糖  发表于 2024-6-15 21:16
2021以上需要lispsys=1,才支持Unicode  发表于 2024-6-15 11:25
 楼主| 发表于 2024-6-15 17:54:33 | 显示全部楼层
本帖最后由 tryhi 于 2024-6-15 17:56 编辑
nuan1989 发表于 2024-6-14 23:51
然后, 咋用中文变量, 大佬有没结论啊, 猫老师说的 , 加上英文也是不行的.

(setq a左 "1" a后 "2" a审  ...

结论3点不就是保险吗?很难理解?
1、在使用带中文的变量时,至少存在两个不同的中文,可避免错误;
2、或者至少存在一个不同的普通字符,可避免错误;
3、所有的中文变量前面都加一个固定的双字节符号,可保证不出错,比如加上双字节的感叹号、句号、人民币符号等
发表于 2024-6-15 21:10:48 | 显示全部楼层
本帖最后由 nuan1989 于 2024-6-15 21:15 编辑
tryhi 发表于 2024-6-15 17:54
结论3点不就是保险吗?很难理解?
1、在使用带中文的变量时,至少存在两个不同的中文,可避免错误;
2 ...
菜鸟随便说,不准上头啊,上头就当我没评论.

知识储备没你多, 自然就不好理解,

比如白糖说"从A0到FF,共95个", 那咋组合中文好像就只有95个字符.
就这样说,好像重码几率不是一般的大, 很大几率两个变量会重在一起.

你这上面第一点, 是不是意思说, 如果用中文变量名, 就长点, 两个字以上. 这样重在一起几率小, 但也有可能重在一起.
第二第三, 如果所有变量前面加一样的字符, 应该没有区别, 比如所有变量 :  bm_左, bm_后, 应该没帮助.











 楼主| 发表于 2024-6-15 23:26:39 | 显示全部楼层
nuan1989 发表于 2024-6-15 21:10
菜鸟随便说,不准上头啊,上头就当我没评论.

知识储备没你多, 自然就不好理解,

第二点说的“至少存在一个不同的普通字符”,你加的是"bm_",全部是相同的,不符我说的第二点

第三点说的前面加字符必须是双字节字符,比如“。”、“啊”、“¥”,你举的例子加"bm_"全部是单字节字符,不符我说的第三点

点评

.哦, 谢谢  发表于 2024-6-16 01:34
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 13:53 , Processed in 0.167426 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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