我想创建一个ELISP函数,它将提示用户输入数字n,然后连续提示用户n次输入字符串。理想情况下,我希望所有这些字符串都放在一个列表中。这是我迄今为止所拥有的。显然,我所拥有的不起作用,但它可能有助于澄清我想做的事情的类型
(defun prompt-user-n-times (n)
"Prompt user n time for strings and append strings to list"
(interactive "nHow many strings: ")
(while (> n 0)
(append newlist (interactive "sGive me input: "))
(setq n (- n 1))
))
谢谢。
只需为新列表定义一个绑定:
(defun prompt-user-n-times (n)
"Prompt user n time for strings and append strings to list"
(interactive "nHow many strings: ")
(let ((newlist ()))
(while (> n 0)
(setq newlist (append newlist (list (read-string "Give me input: "))))
(setq n (- n 1)))
newlist))
几句话:交互式只是在一个defun
的开头,在函数,一个使用其他提示函数,如CCD_ 2。append
请求两个列表,因此字符串返回通过read-string
应通过list
函数放入列表