On 10 Sep 2014, at 16:38, [email protected] wrote:

> I was playing around with the idea of using stuff like in jQuery, where we do 
> have the  '$' function that would do a lot of things.
> 
> But one cannot create such elements as 
> 
> SlotClassBuilder>>validateClassName
>       "Validate the new class name. Raise warning if invalid."
> 
>       name
>               detect: [ :c | (c isAlphaNumeric or: [ c = $_ ]) not ]
>               ifFound: [ :c | InvalidGlobalName signal: 'Invalid character: 
> ''' , c printString , '''' for: name ].
>       name first canBeGlobalVarInitial
>               ifFalse: [ InvalidGlobalName signal: 'Class name does not start 
> with a valid Global Var Initial' for: name ]
> 
> doesn't let us.
> 
> Is there a reason for that (ok, we have $ for chars, and #, ... and other 
> things but still).
> 

The problem is that $ is part of the smalltalk grammar for symbols, $ can not 
be a variable name.

 $asdasd

is parsed as a message send to the character a, for example.

        Marcus

Reply via email to