如何在 gnu smalltalk 中探索命名空间
How to explore a namespace in gnu smalltalk
当使用 gnu smalltalk(没有集成 emacs)时,commands/process人们用什么来探索命名空间的内容?例如,我想了解如何使用 NetClients
的内容,但如果我只输入
NetClients examine
我看到大量文本滚动过去。是否有可能将其传递到 less
之类的内容中,以便我可以来回滚动浏览它?理想情况下,我希望看到 类 的列表,以及它们的一般描述。然后对于那些 类 我希望只能看到他们的选择器。
如果您想在发送消息时在文本输出中进行搜索,我只需将输出重定向到文件即可。
我会做以下事情:
gst -a > netclients_namespace.txt
- 类型:
NetClients examine
- 检查
netclients_nemespace.txt
文件,您将在其中输出消息。您可以在 gst
仍然是 运行 时检查它
- 如果你完成了就通过
ctrl+c
打破它
解释:
-a --smalltalk-args Pass the remaining arguments to Smalltalk.
允许您输入消息并重定向输出。
编辑:(在命名空间错过了关于 类 的问题)
话虽这么说,但我不是 GNU Smalltalk 的忠实粉丝,因为我不喜欢仅支持 CLI 的界面。我认为从一开始 Smalltalk 的最大优势就是它的 GUI 支持,如果你需要它,如果你使用的 Smalltalk 环境支持它,你可以使用 CLI,比如 Smalltalk/X-jv.
通常 inspect
是 Smalltalk 中使用的关键字,而不是 examine
。这将为您提供对象的内部视图。
如果您想在命名空间中列出 类,您可以按以下方式进行:
NetClients do: [ :namespaceDetail |
namespaceDetail isClass ifTrue: [ namespaceDetail printNl ]
].
要打印 类 的描述,您可以这样:
NetClients do: [ :namespaceDetail |
namespaceDetail isClass ifTrue: [
'--->' printNl. namespaceDetail printNl. '<---' printNl.
namespaceDetail comment printNl
]
].
以类似的方式你会得到选择器。
当使用 gnu smalltalk(没有集成 emacs)时,commands/process人们用什么来探索命名空间的内容?例如,我想了解如何使用 NetClients
的内容,但如果我只输入
NetClients examine
我看到大量文本滚动过去。是否有可能将其传递到 less
之类的内容中,以便我可以来回滚动浏览它?理想情况下,我希望看到 类 的列表,以及它们的一般描述。然后对于那些 类 我希望只能看到他们的选择器。
如果您想在发送消息时在文本输出中进行搜索,我只需将输出重定向到文件即可。
我会做以下事情:
gst -a > netclients_namespace.txt
- 类型:
NetClients examine
- 检查
netclients_nemespace.txt
文件,您将在其中输出消息。您可以在gst
仍然是 运行 时检查它
- 如果你完成了就通过
ctrl+c
打破它
解释:
-a --smalltalk-args Pass the remaining arguments to Smalltalk.
允许您输入消息并重定向输出。
编辑:(在命名空间错过了关于 类 的问题)
话虽这么说,但我不是 GNU Smalltalk 的忠实粉丝,因为我不喜欢仅支持 CLI 的界面。我认为从一开始 Smalltalk 的最大优势就是它的 GUI 支持,如果你需要它,如果你使用的 Smalltalk 环境支持它,你可以使用 CLI,比如 Smalltalk/X-jv.
通常 inspect
是 Smalltalk 中使用的关键字,而不是 examine
。这将为您提供对象的内部视图。
如果您想在命名空间中列出 类,您可以按以下方式进行:
NetClients do: [ :namespaceDetail |
namespaceDetail isClass ifTrue: [ namespaceDetail printNl ]
].
要打印 类 的描述,您可以这样:
NetClients do: [ :namespaceDetail |
namespaceDetail isClass ifTrue: [
'--->' printNl. namespaceDetail printNl. '<---' printNl.
namespaceDetail comment printNl
]
].
以类似的方式你会得到选择器。