通常的安装说明告诉我,我需要运行 Pharo 至少三个文件:
- 图像文件
- 更改文件
- 源文件(例如 PharoV10.sources)
我已经在没有源文件的情况下运行了 Pharo 2,但没有发现任何问题。所有来源似乎都是可用的。
那么,为什么我需要源文件(例如 PharoV10.sources)?
镜像文件只包含编译后的代码,不包含原始源代码。更改文件包含您自己添加到系统中的内容的源代码,但不包含现有系统类的源代码。要获取现有系统类的源代码,您需要源文件。
话虽如此,如果源文件不可用,Smalltalk 可以反编译代码并生成看起来像源代码的内容。此代码将缺少正确的变量名称、注释和间距。您真的不想使用反编译的源代码,因此您需要访问源文件。
3 种可能的解释,试着找出这个笑话:
为了验证 1.,您可以尝试浏览对 Decompiler 的引用(我自己的口味有点太多用途)。
为了验证 2.,您可以开始浏览 #openSourceFiles 的实现者
为了验证 3.,您可以评估此代码段:
| nSources nChanges |
nSources := nChanges := 0.
SystemNavigation default allBehaviorsDo: [:b |
b selectorsDo: [:s |
(b compiledMethodAt: s) fileIndex = 1
ifTrue: [nSources := nSources+1]
ifFalse: [nChanges := nChanges+1]]].
^{nSources. nChanges}
Pharo 也有可能自动下载 PharoV10.sources。