点之前的emacs字符等于
如何检查点之前的字符是否等于“点之前的emacs字符等于,emacs,comments,char,point,Emacs,Comments,Char,Point,如何检查点之前的字符是否等于“\” 作为示例的代码应执行以下操作: 1) 如果选择了区域,则应注释该区域 2) 如果点之前的字符是“\”,则应在点处插入一个正常的百分比 3) 如果点位于行的开头,请插入“%” 4) 如果点在其他地方,请转到句子末尾并插入“SPC%SPC”将其替换为 (= (char-before) 92) 92是\字符的ASCII码。在e-lisp中,字符与字符串不同。获取字符ascii值的语法是?a。尝试以下方法: (if (= (char-before) ?\\))
\
”
作为示例的代码应执行以下操作:
1) 如果选择了区域,则应注释该区域
2) 如果点之前的字符是“\
”,则应在点处插入一个正常的百分比
3) 如果点位于行的开头,请插入“%
”
4) 如果点在其他地方,请转到句子末尾并插入“SPC
%
SPC
”将其替换为
(= (char-before) 92)
92是\字符的ASCII码。在e-lisp中,字符与字符串不同。获取字符ascii值的语法是?a
。尝试以下方法:
(if (= (char-before) ?\\))
DO-SOMETHING
DO-SOMETHING-ELSE)
单个字符的语法为?char。因此:
要查找的字符是\,而equal是没有意义的,因为我们正在比较整数。修复了“vs.\”问题(读取原始代码太快)。此外,我放弃了使用equal
的建议,因为我找不到一个很好的参考来说明eq
、equal
和=
函数正在讨论的位置。感谢您的反馈。基本上:如果值相同,eq和=比较。即,10是10。如果它们具有相同的值,则进行相等比较。(equal)(foo.bar)(foo.bar))是正确的,但是(((foo.bar)(foo.bar))不是因为他们是两个不同的囚徒。我给你答案的原因是,显然你帮助了另一个人的答案。从技术上讲,他的答案更完整。我不确定该交给谁。
(if (= (char-before) ?\\))
DO-SOMETHING
DO-SOMETHING-ELSE)
(= (char-before) ?\\)