emacs - 字符串到数字和插入给出控制字符(例如 ^C、^D)而不是数字(例如 3、4)

标签 emacs lisp elisp

我正在尝试制作一个提示用户在 while 期间输入数字的功能(因此提示出现的次数会发生变化,这就是我不想使用的原因类似于 (interactive "n Enter a Number : ")。我的代码是这样的:

 (setq nb_str (read-string "Enter a Number:"))
 (setq nb (string-to-number nb_str))
 (insert nb)

当我想插入变量 nb 时,我没有插入我的数字,而是从 string-to-number 函数中得到了一些奇怪的输出,比如 ^ C(如果我输入 3)或 ^D(如果我输入 4)或 ^E(如果我输入 5)。我需要那个值作为之后的数字。我该怎么做?

最佳答案

insert插入字符串或字符,Emacs Lisp 中的数字一个字符(如果它在正确的范围内),所以 3 作为第 3 个 ASCII 字符插入,^C .

您需要将 nb-str 传递给 insert,或者使用 number-to-string :

(insert (number-to-string nb))

关于emacs - 字符串到数字和插入给出控制字符(例如 ^C、^D)而不是数字(例如 3、4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19920260/

相关文章:

emacs - 我如何鼓励 emacs 遵循编译缓冲区

emacs - 如何引用 Emacs Lisp 中当前正在加载的文件?

Emacs Lisp 函数,将区域写入文件并将其删除

lisp - 使用 mapcar 计算欧式距离并应用

emacs - Elisp函数从列表中选择参数

emacs - 指定 emacs lisp 宏缩进样式的两种方法之间的区别

emacs - 在编辑 Emacs lisp 代码时,如何轻松地重新加载它?

emacs - 将 emacs 的所有 `=` 更改为 `eq`

database - Common Lisp 中的函数持久化

emacs - emacs tramp double-hop ssh较早的解决方案不起作用