Question about style

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Question about style

Stephen Davies-3
Hi listees,

I'm trying to find my Smalltalk accent, if you know what I mean.

In a project I have a class that's a subclass of Dictionary.

I created the following method to create a convenient way of accessing
entries in the dictionary:

doesNotUnderstand: aSelector
        "for unknown selectors, see if we can find an environment variable
and return that"
        ^ self at: aSelector asString ifAbsent: [ super doesNotUnderstand: aSelector ]

So my question is whether this is considered good style or not?  It
works quite well (except the doIt in a workspace pops up to say the
selector is unknown).

This sort of thing is done in Ruby often, and I did find some examples
in various classes in my image.

(Actually one example even defined the missing accessor on the fly -
that's really showing off).

Thanks,
Steve
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

RE: Question about style

Ramon Leon-5
> I created the following method to create a convenient way of
> accessing entries in the dictionary:
>
> doesNotUnderstand: aSelector
> "for unknown selectors, see if we can find an
> environment variable and return that"
> ^ self at: aSelector asString ifAbsent: [ super
> doesNotUnderstand: aSelector ]
>
> So my question is whether this is considered good style or
> not?  It works quite well (except the doIt in a workspace
> pops up to say the selector is unknown).
>
> This sort of thing is done in Ruby often, and I did find some
> examples in various classes in my image.
>
> (Actually one example even defined the missing accessor on
> the fly - that's really showing off).
>
> Thanks,
> Steve

I have the same hack in my image, I'm sure many people do.  I use it heavily
because the SoapCore package returns dictionaries from web services calls in
place of object if you haven't registered a specific object for use.  I find
it quite handy.

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners