问题描述
我正在使用 Slime (Emacs) 和 Common Lisp (SBCL)。对表达式求值后,REPL 返回一个 CL 对象列表:
(#<BOOKMARK-ENTRY {1009AFB963}> #<BOOKMARK-ENTRY {1009AFD5A3}>
#<BOOKMARK-ENTRY {1009Afdb53}> #<BOOKMARK-ENTRY {1009AFE0E3}>
#<BOOKMARK-ENTRY {1009AFE683}> #<BOOKMARK-ENTRY {1009AFEC23}>
#<BOOKMARK-ENTRY {1009AFF173}> #<BOOKMARK-ENTRY {1009AFF753}>
#<BOOKMARK-ENTRY {1009AFFCD3}> #<BOOKMARK-ENTRY {1009B00233}>
#<BOOKMARK-ENTRY {1009B00783}> #<BOOKMARK-ENTRY {1009B00CE3}>
#<BOOKMARK-ENTRY {1009B01253}> #<BOOKMARK-ENTRY {1009B01823}>
#<BOOKMARK-ENTRY {1009B01DD3}> #<BOOKMARK-ENTRY {1009B02393}>
#<BOOKMARK-ENTRY {1009B028B3}> #<BOOKMARK-ENTRY {1009B02E13}>
#<BOOKMARK-ENTRY {1009B03373}> #<BOOKMARK-ENTRY {1009B03903}>
#<BOOKMARK-ENTRY {1009B03EB3}> #<BOOKMARK-ENTRY {1009B04453}>
#<BOOKMARK-ENTRY {1009B049F3}> #<BOOKMARK-ENTRY {1009B04F23}>
#<BOOKMARK-ENTRY {1009B054A3}> #<BOOKMARK-ENTRY {1009B05AB3}>
#<BOOKMARK-ENTRY {1009B05FF3}> #<BOOKMARK-ENTRY {1009B06513}>
#<BOOKMARK-ENTRY {1009B06A83}> #<BOOKMARK-ENTRY {1009B07133}>
#<BOOKMARK-ENTRY {1009B076B3}> #<BOOKMARK-ENTRY {1009B07C13}>
#<BOOKMARK-ENTRY {1009B08213}>)
如果我点击查看列表,则会打开一个新窗口,其中列出了所有对象:
#<CONS {1009AFCBB7}>
--------------------
A proper list:
0: #<BOOKMARK-ENTRY {1009AFB963}>
1: #<BOOKMARK-ENTRY {1009AFD5A3}>
2: #<BOOKMARK-ENTRY {1009Afdb53}>
3: #<BOOKMARK-ENTRY {1009AFE0E3}>
4: #<BOOKMARK-ENTRY {1009AFE683}>
5: #<BOOKMARK-ENTRY {1009AFEC23}>
6: #<BOOKMARK-ENTRY {1009AFF173}>
7: #<BOOKMARK-ENTRY {1009AFF753}>
8: #<BOOKMARK-ENTRY {1009AFFCD3}>
9: #<BOOKMARK-ENTRY {1009B00233}>
10: #<BOOKMARK-ENTRY {1009B00783}>
11: #<BOOKMARK-ENTRY {1009B00CE3}>
12: #<BOOKMARK-ENTRY {1009B01253}>
13: #<BOOKMARK-ENTRY {1009B01823}>
14: #<BOOKMARK-ENTRY {1009B01DD3}>
15: #<BOOKMARK-ENTRY {1009B02393}>
16: #<BOOKMARK-ENTRY {1009B028B3}>
17: #<BOOKMARK-ENTRY {1009B02E13}>
18: #<BOOKMARK-ENTRY {1009B03373}>
19: #<BOOKMARK-ENTRY {1009B03903}>
20: #<BOOKMARK-ENTRY {1009B03EB3}>
21: #<BOOKMARK-ENTRY {1009B04453}>
22: #<BOOKMARK-ENTRY {1009B049F3}>
23: #<BOOKMARK-ENTRY {1009B04F23}>
24: #<BOOKMARK-ENTRY {1009B054A3}>
25: #<BOOKMARK-ENTRY {1009B05AB3}>
26: #<BOOKMARK-ENTRY {1009B05FF3}>
27: #<BOOKMARK-ENTRY {1009B06513}>
28: #<BOOKMARK-ENTRY {1009B06A83}>
29: #<BOOKMARK-ENTRY {1009B07133}>
30: #<BOOKMARK-ENTRY {1009B076B3}>
31: #<BOOKMARK-ENTRY {1009B07C13}>
32: #<BOOKMARK-ENTRY {1009B08213}>
如果我点击任何对象(书签条目),我将看到我想要的带有槽值的信息,例如:
#<BOOKMARK-ENTRY {1009B01253}>
--------------------
Class: #<STANDARD-CLASS NYXT:BOOKMARK-ENTRY>
--------------------
Group slots by inheritance [ ]
Sort slots alphabetically [X]
All Slots:
[ ] ANNOTATION = ""
[ ] DATE = @2021-07-21T19:13:02.981953-03:00
[ ] SEARCH-URL = ""
[ ] SHORTCUT = ""
[ ] TAGS = ("certo" "deu" "tudo" "white" "yankee")
[ ] TITLE = ""
[ ] URL = #<QURI.URI.HTTP:URI-HTTPS https://en.wikipedia.org/wiki/Yankee_White>
[set value] [make unbound]
好的。但是我如何离开这些信息并回到之前的信息?
我的意思是屏幕:
```lisp
#<CONS {1009AFCBB7}>
--------------------
A proper list:
0: #<BOOKMARK-ENTRY {1009AFB963}>
.
.
.
32: #<BOOKMARK-ENTRY {1009B08213}>
?
有这个命令吗?是什么名字? 有按键绑定吗?
谢谢。
解决方法
使用 C-h m
后,我设法在此缓冲区中找到了与 slime-inspector-pop
绑定的命令 l
。
为了说明,让我们访问编号为 #26 的对象:
26: #<BOOKMARK-ENTRY {100B847933}>
我按下 return
得到:
#<BOOKMARK-ENTRY {100B847933}>
--------------------
Class: #<STANDARD-CLASS NYXT:BOOKMARK-ENTRY>
--------------------
Group slots by inheritance [ ]
Sort slots alphabetically [X]
All Slots:
[ ] ANNOTATION = ""
[ ] DATE = @2021-07-03T10:42:53.050403-03:00
[ ] SEARCH-URL = ""
[ ] SHORTCUT = ""
[ ] TAGS = ("CNN")
[ ] TITLE = ""
[ ] URL = #<QURI.URI.HTTP:URI-HTTPS https://www.cnnbrasil.com.br/>
[set value] [make unbound]
为了回来,我只做l
。因此,我以细微的差别回到了前一个窗口。现在,列表中的对象名称与 @13
:
26: @13=#<BOOKMARK-ENTRY {100B847933}>
如果我的解释没有错,这表明该对象已被检查并且它是要访问的列表中的第 13 个对象。