> On 20 Jan 2016, at 15:34, Dimitris Chloupis <kilon.al...@gmail.com> wrote: > > Thank you for the info but I think I did not make myself clear because you > say "remain nil" > > Ok Imagine a class SomeClass and that class has a variable we will call > SomeVariable, class variable that is > , there is no class initialize method, now that class has a method that is > eventually called , > someMethod > > SomeVariable ifNil: [ SomeVariable := 'hello world'] > > so when I decide to update this class via metacello loading the latest > version from github , SomeVariable will have the value 'hello world' > > My question is , will SomeVariable after I do the update revert back to nil > or stay 'hello world' ? > > If your answer is no, and it stays 'hello world' then yes i need an > initialize method and call it at update time.
Argh, I should have said: keeps it value, will not revert to nil. Sorry for the confusion ! > On Wed, Jan 20, 2016 at 2:54 PM Sven Van Caekenberghe <s...@stfx.eu> wrote: > They remain nil. > > That is why #initialize on the class side is needed. > > You can call that explicitly in a post load script, or rely on the class > loading mechanism that normally calls #initialize automatically when loading > a class. The warning is: this only happens when the *source* code of the > #initialize methods changes. So sometimes, you will have to touch that method > to force it. > > I hope that makes sense. > > See MCMethodDefinition>>#postloadOver: > > > On 20 Jan 2016, at 13:41, Dimitris Chloupis <kilon.al...@gmail.com> wrote: > > > > So my question is this , I have a class with nil variables that are lazy > > initialised only when needed the first time and of course they keep their > > values from there on. > > > > Lets say I get the latest update from github via metacello over an older > > update that I already have inside the image , do those variables revert > > back to nil values ? or do they keep their values as they are ? > >