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

时间:2013-11-12 03:20:22

标签: emacs lisp elisp

我正在尝试创建一个函数,提示用户在while期间输入一个数字(因此提示出现的时间会发生变化,这就是为什么我不想使用{ {1}})。我的代码是这样的:

(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(如果我输入3)或{{ 1}}(如果我键入4)或^C(如果我输入5)。我需要将该值作为后续数字。我怎么能这样做?

1 个答案:

答案 0 :(得分:6)

insert插入字符串或字符,Emacs Lisp 中的数字是一个字符(如果它在正确的范围内),因此插入3作为第3个ASCII字符,{ {1}}。

您需要将^C传递给nb-str,或使用number-to-string

insert