the problem with #bind is that a binding is a pair (an association), not its value... so it can cause confusion (and you know murphy's law: it it can, it will). #asClass is not so bad #asClassOn: anEnvironment can work too. or: #bindedClass #bindedClassOn: anEnvironment looks clearer to me. Esteban On May 2, 2013, at 5:49 PM, Esteban A. Maringolo <emaringolo@gmail.com> wrote:
I vote for the #bind* (ej, #bindToClass) or similar.
The #asX... means casting for me.
I'd expect that `#Foo asClass` answer a new class named #Foo.
Regards, Esteban A. Maringolo
2013/5/2 Igor Stasenko <siguctua@gmail.com>:
On 2 May 2013 16:56, Frank Shearar <frank.shearar@gmail.com> wrote:
On 2 May 2013 15:37, Ben Coman <btc@openinworld.com> wrote:
Sven Van Caekenberghe wrote:
On 02 May 2013, at 06:03, Igor Stasenko <siguctua@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.
#asGlobal feels confusing to me. It doesn't sound like a lookup. Some other alternatives:
#SomeName fromGlobal #SomeName from: someOtherEnvironment
#SomeName fromEnvironment "the current one" #SomeName fromEnvironment: someOtherEnvironment
#SomeName fromEnv: someOtherEnvironment #SomeName fromEnv "the current one"
but why bother at all. What is the advantage over this:
Smalltalk at: #xx put: 1. xx inspect.
But the use case here is when you want to reference a class that has not yet been loaded, which happens every time you run a load script for a ConfigurationOf.
yes, so you write:
#ConfigurationOfXYZ asClass load.
instead of:
(Smalltalk at: #ConfigurationOfXYZ) load.
frank
-- Best regards, Igor Stasenko.