如何从一个吱吱作响的Smalltalk图像中转储所有源代码?

如何从一个吱吱作响的Smalltalk图像中转储所有源代码?,smalltalk,squeak,Smalltalk,Squeak,我已经下载了Scratch,它是用英文写的。我可以在Squeak中浏览源代码,但我真正想要的是一个大文本文件。该图像基于Squeak 2.8 我是个十足的新手。到目前为止,我很喜欢它,我对语言和环境的印象是,如果我更了解自己的方式,将此图像中的所有源代码转储到一个文件中可能只需要大约3行代码。你能提供3行代码吗 如果结果是4行(或者更可能是1行),我不会抱怨。未测试,但是: Smalltalk allClasses do: [:each | each fileOut] 这将转储三百万个.st文

我已经下载了Scratch,它是用英文写的。我可以在Squeak中浏览源代码,但我真正想要的是一个大文本文件。该图像基于Squeak 2.8

我是个十足的新手。到目前为止,我很喜欢它,我对语言和环境的印象是,如果我更了解自己的方式,将此图像中的所有源代码转储到一个文件中可能只需要大约3行代码。你能提供3行代码吗

如果结果是4行(或者更可能是1行),我不会抱怨。

未测试,但是:

Smalltalk allClasses do: [:each | each fileOut]
这将转储三百万个.st文件,以系统中的每个类命名

欢迎光临,祝您愉快

编辑: 看起来,这在早期的squeaks中不起作用,我一直在测试,下面的代码应该可以在Scratch源代码映像中使用:

SystemOrganization categories do: [:each | SystemOrganization fileOutCategory: each]

现在还有一个好处:检查图像中所有现有的对象,看看源是否可用,否则进行反编译。我不知道你的意思,但我会这么做:| allClassNames | allClassNames:=Smalltalk allClasses collect:[:each | each className]。“我们首先存储它以节省计算时间”(对象所有子实例选择:[:每个|(所有类名包括:每个类)不])执行:[:每个|每个都是您需要执行的操作]