通常のインストールの説明では、Pharo を少なくとも 3 つのファイルで実行する必要があると書かれています。
- 画像ファイル
- 変更ファイル
- ソースファイル (例: PharoV10.sources)
ソース ファイルなしで Pharo 2 を実行しましたが、何の問題もありませんでした。すべてのソースが利用可能であるように見えました。
では、なぜソース ファイル (PharoV10.sources など) が必要なのですか?
イメージ ファイルには、元のソース コードではなく、コンパイルされたコードのみが含まれます。変更ファイルには、自分でシステムに追加したもののソース コードが含まれていますが、既存のシステム クラスのソース コードは含まれていません。既存のシステム クラスのソース コードを取得するには、ソース ファイルが必要です。
そうは言っても、ソース ファイルが利用できない場合、Smalltalk はコードを逆コンパイルし、ソース コードのように見えるものを生成できます。このコードには、適切な変数名、コメント、スペースがありません。逆コンパイルされたソース コードを使用したくないので、ソース ファイルにアクセスする必要があります。
3つの考えられる説明、ジョークを特定してみてください。
1.を検証するために、逆コンパイラーへの参照を参照することを試みることができます(私自身の好みには少し多すぎる使用法があります)。
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 を自動的にダウンロードすることも可能です。