gpt4 book ai didi

function - 带有附加参数的交互式 "r"elisp defun?

转载 作者:行者123 更新时间:2023-12-04 23:08:38 26 4
gpt4 key购买 nike

是否可以使用具有附加可选参数的代码“r”编写交互式 defun(以便它在选定区域内执行操作,但使用另一个参数)?我想要以下内容:

(defun my-function (start end &optional arg)
"Do something with selected region"
(interactive "r")
(if arg
(setq val arg)
(setq val 2))
(do things...))

看着 documentation它说

'r': Point and the mark, as two numeric arguments, smallest first. This is the only code letter that specifies two successive arguments rather than one. No I/O.



我不确定“无 I/O”和“两个连续参数”是否意味着它需要 2 个且仅 2 个参数(即,仅限于区域的起点和终点作为参数)。尽管它允许我使用附加参数来评估和运行 defun,但 Emacs 似乎忽略了它。

谢谢你。

最佳答案

制作 interactive要求多个参数,用换行符分隔它们。例如,如果您希望将第三个参数绑定(bind)到前缀参数的值,请像这样定义您的函数:

(defun my-function (start end &optional arg)
"Do something with selected region"
(interactive "r\np")
(if arg
(setq val arg)
(setq val 2))
(do things...))
M-x describe-function interactive为您提供更多信息。

关于function - 带有附加参数的交互式 "r"elisp defun?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5603576/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com