Supponi di avere due classi, LuckyClass1
una sottoclasse di Object
e una sottoclasse LuckyClass2
di LuckyClass1
. E diciamo che il tuo nome è LuckyName
. E diciamo che vuoi inserire il tuo codice nel pacchetto Lucky-Package1
.
Object subclass: #LuckyClass1
LuckyClass1 subclass: #LuckyClass2
Classe LuckyClass1
con un metodo lato un'istanza luckyInstanceSideMethod1
, un metodo laterale classe luckyClassSideMethod1
e lato istanza variabile luckyInstanceSideVariable1
e laterale classe variabile LuckyClassSideVariable1
.
Analogamente classe LuckyClass2
con un metodo lato un'istanza luckyInstanceSideMethod1
, un metodo laterale classe luckyClassSideMethod1
ed un lato ulteriore esempio variabile lato luckyInstanceSideVariable2
e categoria variabile LuckyClassSideVariable2
.
riferimenti metodo sarebbe simile a questa
LuckyClass1>>#luckyInstanceSideMethod1
LuckyClass1 class>>#luckyClassSideMethod1
LuckyClass2>>#luckyInstanceSideMethod1
LuckyClass2 class>>#luckyClassSideMethod1
Su Linux/Mac OS X, fare
vi Lucky-Package1-unix.st
di mettere in un file chiamato Lucky-Package1-unix.st
qualcosa come
Object subclass: #LuckyClass1
instanceVariableNames: 'luckyInstanceSideVariable1'
classVariableNames: 'LuckyClassSideVariable1'
poolDictionaries: ''
category: 'Lucky-Package1'!
!LuckyClass1 methodsFor: 'lucky instance side protocol 1' stamp: 'LuckyName 6/8/2016 17:05'!
luckyInstanceSideMethod1
^luckyInstanceSideVariable1 := 'lucky instance side'
! !
!LuckyClass1 class methodsFor: 'lucky class side protocol 1' stamp: 'LuckyName 6/8/2016 17:06'!
luckyClassSideMethod1
^LuckyClassSideVariable1 := 'lucky class side'
! !
LuckyClass1 subclass: #LuckyClass2
instanceVariableNames: 'luckyInstanceSideVariable2'
classVariableNames: 'LuckyClassSideVariable2'
poolDictionaries: ''
category: 'Lucky-Package1'!
!LuckyClass2 methodsFor: 'lucky instance side protocol 1' stamp: 'LuckyName 6/8/2016 17:15'!
luckyInstanceSideMethod1
^super luckyInstanceSideMethod1, ' subclass'
! !
!LuckyClass2 class methodsFor: 'lucky class side protocol 1' stamp: 'LuckyName 6/8/2016 17:17'!
luckyClassSideMethod1
^super luckyClassSideMethod1, ' subclass'
! !
In effetti, ca n cut & incolla il blocco precedente.
Quindi convertire i ritorni di riga in ritorni a capo oppure Pharo si lamenterà. Questo è importante. Se siete su Linux/Mac OS X è possibile utilizzare il seguente
cat Lucky-Package1-unix.st | tr \\n \\r > Lucky-Package1-pharo.st
Su Windows Vorrei ancora usare bash, VI, gatto, TR da git-scm https://git-scm.com/download/win
Poi depositare in Lucky-Package1-pharo.st
. Dovrebbe apparire nel pacchetto Lucky-Package1
in System Browser.
Ottima domanda. Sto postando questo sulla lista per dargli più visibilità. –