read 函数怎么保留字符串的大小写格式?
本帖最后由 wharan 于 2024-12-1 20:47 编辑如题,(read "AbCdEfG")执行后返回ABCDEFG。我希望返回值保留原来的大小写格式AbCdEfG,应该怎么做?
wharan 发表于 2024-12-9 12:47
从文件读取保存的变量或者set_tile 、get_tile,当给tile 赋值或者取值时,大小写是不同,除非用类似strc ...
我一直用的setenv ,getenv ,没出过问题啊
(defun mx_tog_env ( / h z)
(setq z (mapcar 'get_tile '("z_dh" "z_mc" "z_sl" "z_cl" "z_bz")))
(setenv "mx_z_act" (strjoin z "-"))
(setq h (mapcar 'get_tile '("z_dh" "h_mc" "h_sl" "h_cl" "h_bz")))
(setenv "mx_h_act" (strjoin h "-"))
)
(defun mx_tog_init (/ zenv henv z h)
(setq zenv (getenv "mx_z_act"))
(setq henv (getenv "mx_h_act"))
(if (null zenv)
(progn
(setq zenv "0-0-0-0-0")
(setenv"mx_z_act" zenv))
)
(if (null henv)
(progn
(setq henv "0-0-0-0-0")
(setenv"mx_h_act" henv))
)
(setq z (split zenv "-"))
(setq h (split henv "-"))
(mapcar '(lambda (x y)
(set_tile x y)
)
'("z_dh" "z_mc" "z_sl" "z_cl" "z_bz")
z
)
(mapcar '(lambda (x y)
(set_tile x y)
)
'("h_dh" "h_mc" "h_sl" "h_cl" "h_bz")
h
)
) 菜卷鱼 发表于 2024-12-9 08:32
setenv、getenv配合使用
从文件读取保存的变量或者set_tile 、get_tile,当给tile 赋值或者取值时,大小写是不同,除非用类似strcat函数全部转换。 tryhi 发表于 2024-12-2 09:54
如果你关心read之后的大小写,那证明你read用错地方了
主要用在对话框的数据保存和读取。set_tile对大小写是有区别的 read之前保存下这个字符串不就可以了. 试试(read (vl-prin1-to-string"AbCdEfG")) read后大小写没有影响吧 反正运行时你也看不到 这就是一个变量 把字符串放在list 飞雪神光 发表于 2024-12-1 21:46
read后大小写没有影响吧 反正运行时你也看不到 这就是一个变量
就是看到了这个,随便问一下 本帖最后由 vitalgg 于 2024-12-2 09:13 编辑
(read "\"AbCdEfG\"")
符号不分大小写,只有字符串才分大小写。
如果你关心read之后的大小写,那证明你read用错地方了 read字符串之后,就成symbol了,symbol是不分大小写的。
页:
[1]
2