明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: tryhi

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

[复制链接]
发表于 2021-8-6 11:54 | 显示全部楼层
ssyfeng 发表于 2021-8-6 10:49
研究总结出来就是:桌子歧视汉字。

由于汉字编码只有一半起作用,也就是只有256个不重复的汉字。几万个汉字只有256个不同的编码,导致重码率太高,因此尽量不用汉字变量名是对的,否则可能莫名奇妙就出错
发表于 2021-8-10 22:54 | 显示全部楼层
这都被总结出来,学习了,我用了几个中文的函数,目前没有遇到问题,后面还是不用了
 楼主| 发表于 2021-8-11 09:22 | 显示全部楼层
baitang36 发表于 2021-8-6 11:54
由于汉字编码只有一半起作用,也就是只有256个不重复的汉字。几万个汉字只有256个不同的编码,导致重码率 ...

不对,实际上只有128,汉字两个字节的编码都大于128
发表于 2021-8-11 09:27 | 显示全部楼层
谢谢海哥分享,帮忙避雷。
发表于 2021-8-11 09:39 | 显示全部楼层
tryhi 发表于 2021-8-11 09:22
不对,实际上只有128,汉字两个字节的编码都大于128

实际还不到128,从A0到FF,共95个
发表于 2021-8-11 16:36 | 显示全部楼层
一般情况建议中英混写或带符号,避免纯中文字的问题。
早期在研究中文Lisp开发的时候就遇到这样的问题,也是一大痛点。

评分

参与人数 1明经币 +1 收起 理由
tryhi + 1 确实

查看全部评分

发表于 2021-12-29 19:24 | 显示全部楼层
看了之后,知道怎么用中文变量了
发表于 2023-3-26 00:26 | 显示全部楼层
为啥我这边测试都没问题. 可以正常输出.
cad2021.

以下我这测试, 全部输出的都是123
----------------------
(setq 左 "1" 后 "2" 审 "3")
(princ (strcat "\n" 左 后 审));返回333,即CAD认为这三个变量是同一个变量

(setq 越 "1" 山 "2" 咏 "3")
(princ (strcat "\n" 越 后 咏));返回333,结果同上


(setq 左左 "1" 后后 "2" 审审 "3")
(princ (strcat "\n" 左左 后后 审审));这次用叠字,返回123,居然是正常的

(setq a左 "1" a后 "2" a审 "3")
(princ (strcat "\n" a左 a后 a审));返回333,异常

(setq 左1 "1" 后1 "2" 审1 "3")
(princ (strcat "\n" 左1 后1 审1));返回333,异常

(setq 左1天天b "1" 后1天天b "2" 审1天天b "3")
(princ (strcat "\n" 左1天天b 后1天天b 审1天天b));返回333,异常
 楼主| 发表于 2023-3-26 12:44 | 显示全部楼层
nuan1989 发表于 2023-3-26 00:26
为啥我这边测试都没问题. 可以正常输出.
cad2021.

2021之后的版本修复了可能
回复 支持 1 反对 0

使用道具 举报

发表于 2023-3-26 14:29 | 显示全部楼层
tryhi 发表于 2023-3-26 12:44
2021之后的版本修复了可能

大佬, 你啥版本, 我下载下来试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-17 17:26 , Processed in 0.191911 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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