4 Stimmen

Was ist die #includes: Direktive in Metacello?

Ich verstehe den folgenden Auszug nicht. Genauer gesagt ist nicht klar, was die #includes:-Anweisung ist, da sie genau wie das Gegenteil von #requires: aussieht.

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' ) ] ].

7voto

Tobias Punkte 3027

Es ist ein Gegenteil zu den benötigten, aber es tut mehr. Wenn A benötigt: B und B beinhaltet: A, dann wirkt sich das Laden von B darauf aus, dass auch A geladen wird (aufgrund von #beinhaltet:) nachdem B geladen ist (aufgrund von #benötigt).

Ich hatte eine Diskussion mit Dale über dieses Verhalten. Am Ende handelt es sich um ein Benennungsproblem. In der Debian-Welt würde man etwas wie #bietet an: (das nicht existiert) verwenden und man könnte schreiben

A bietet an: B

Dennoch würde die Tatsache, dass immer noch A benötigt: B existiert, dort nicht reflektiert werden.

Zusammenfassung

Wenn A beinhaltet: B, dann lädt auch das Laden von A B.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X