List Emacs Lisp在位编辑嵌套列表

List Emacs Lisp在位编辑嵌套列表,list,emacs,buffer,elisp,List,Emacs,Buffer,Elisp,我有个问题要解决。我有一个方法列表和它们的缓冲区位置。我用表单创建了它 (("method_foo" 588 . 640) ("method_bar" 557 . 587) ("method_baz" 605 . 630)) 等等。我有一个机制来获得我需要的新职位。然而,我似乎找不到一个干净的方法来更新列表中的缓冲区位置。这似乎是一件简单的事情,特别是对于LIStP处理器,但我似乎无法理解它。任何帮助都将不胜感激。首先: (设置我的列表)(“方法”588.640) (“方法”557.

我有个问题要解决。我有一个方法列表和它们的缓冲区位置。我用表单创建了它

 (("method_foo" 588 . 640)
  ("method_bar" 557 . 587)
  ("method_baz" 605 . 630))
等等。我有一个机制来获得我需要的新职位。然而,我似乎找不到一个干净的方法来更新列表中的缓冲区位置。这似乎是一件简单的事情,特别是对于LIStP处理器,但我似乎无法理解它。任何帮助都将不胜感激。

首先:

(设置我的列表)(“方法”588.640)
(“方法”557.587)
(“方法_baz”605.630)))
如果要将
“方法栏”
的位置从
(557.587)
更改为
(60.80)
,可以执行以下操作:

(let((位置(关联“方法”栏“我的列表”))
(setf(cadr位置)60
(cddr职位)80)
请参阅C-hig
(elisp)设置通用变量
RET,了解有关使用setf的详细信息,从以下内容开始:

(设置我的列表)(“方法”588.640)
(“方法”557.587)
(“方法_baz”605.630)))
如果要将
“方法栏”
的位置从
(557.587)
更改为
(60.80)
,可以执行以下操作:

(let((位置(关联“方法”栏“我的列表”))
(setf(cadr位置)60
(cddr职位)80)

请参阅C-hig
(elisp)设置通用变量
RET,了解有关使用
setf

的详细信息。请尝试解释代码的作用。因此,其他(未来)用户也可以理解解决方案。作为一个高代表性的用户,你应该知道这样的帖子会自动被标记为“低质量帖子”。这里没有太多的解释——任何编写elisp的人都知道如何使用
C-HF
来了解每个函数的功能——当然,我会详细说明一下……谢谢
setf
是我丢失的部分。请尝试解释您的代码的作用。因此,其他(未来)用户也可以理解解决方案。作为一个高代表性的用户,你应该知道这样的帖子会自动被标记为“低质量帖子”。这里没有太多的解释——任何编写elisp的人都知道如何使用
C-HF
来了解每个函数的功能——当然,我会详细说明一下……谢谢
setf
是我丢失的那块。