On 02 May 2013, at 06:03, Igor Stasenko <siguc...@gmail.com> wrote:

> Hi, all
> 
> do not think that i am drunk or vent crazy, asking such silly
> question, which at best should be asked only by beginner :)
> 
> I know the answer:
> 
> Smalltalk at: #SomeName
> 
> or
> 
> Smalltalk globals at: #SomeName
> 
> what stroke me, just now, that both answers is wrong!
> 
> It should be:
> 
> #SomeName asGlobal
> 
> (or suggest more appropriate/precise method name for a symbol)

ConfigurationOfXYZ globalValue project bleedingEdge load.

ConfigurationOfXYZ globalValueIfPresent: [ :configuration | configuration 
project bleedingEdge load ]

An alternative could be globalBinding, but that is more technical.

#asGlobal sounds like a conversion, on the other hand it is an accepted idiom.

> optionally, we could also have one, with handling absent case:
> 
> #SomeName asGlobalIfAbsent: []
> 
> same , but only if present:
> 
> #SomeName asGlobalIfPresent: [:global | ]
> 
> 
> Currently, there is 941 references to 'Smalltalk' global in my pharo image.
> If we introduce this convenience method, it will shrink this number
> considerably,
> not saying that code will be more elegant and concise compare:
> 
> (Smalltalk globals at: #Foo) doSomething
> 
> and
> 
> #Foo asGlobal doSomething
> 
> P.S. What really strikes me is why we don't have such method from very
> beginning,
> and instead refer to 'Smalltalk' all over the places.
> Some things are so deeply indoctrinated in our minds, that we don't
> even think that it can be different.
> 
> -- 
> Best regards,
> Igor Stasenko.
> 


Reply via email to