Dam*_*sou 4 smalltalk pharo metacello
我不明白以下摘录.更确切地说,目前还不清楚该#includes:指令是什么,因为它看起来与其相反#requires:.
spec for: #'pharo3.x' do: [
spec
package: 'Grease-Core' with: [
spec includes: #('Grease-Pharo30-Core' ). ];
package: 'Grease-Tests-Core' with: [
spec includes: #('Grease-Tests-Pharo20-Core' ). ];
package: 'Grease-Pharo30-Core' with: [
spec requires: #('Grease-Core' ). ];
package: 'Grease-Tests-Pharo20-Core' with: [
spec requires: #('Grease-Tests-Core' ) ] ].
Run Code Online (Sandbox Code Playgroud)
它与要求相反,但它做得更多.如果A requires: B和B includes: A,然后加载B效果,A也加载(因为#includes:)B加载后(因为#requires).
我与戴尔讨论了这种行为.最后,这是一个命名问题.在debian World中,你会使用类似的东西#provides:(不存在),你可以写
A provides: B
Run Code Online (Sandbox Code Playgroud)
但是,事实仍然A requires: B不会反映在那里.
何时A includes: B,然后加载A也加载B.