[Newbies] selectors for an array of classes
Bert Freudenberg
bert at freudenbergs.de
Mon Jul 4 10:17:08 UTC 2011
On 03.07.2011, at 19:48, Jonathan Wright wrote:
> On Sun, 3 Jul 2011 18:47:09 +0200
> Bert Freudenberg <bert at freudenbergs.de> wrote:
>
>> On 03.07.2011, at 18:35, Jonathan Wright wrote:
>>
>>>
>>> Hello,
>>>
>>> I am trying to read the methods of several classes. I am getting a
>>> messagenotunderstood for the following code:
>>>
>>> TempObject := #(OrderedCollection Integer).
>>> TempObject do: [ :iClass |
>>> iClass selectorsDo: [ :item |
>>> item.]].
>>>
>>> I can run a iClass name successfully.
>>
>> Try iClass class, that should be enlightening ;)
>>
>>> But it doesn't seem to recognize iClass selectors.
>>
>> The "name" message works on any (see Object>>name). iClass is not
>> actually a class in your example.
>>
>> Hint 1: #() creates a literal array.
>>
>> Hint 2: Classes are not literals.
>>
>> Hint 3: {} creates a non-literal array.
>>
>> Nitpick: temps should have lowercase-names.
>>
>> - Bert -
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>
>
> Awesome, thanks for the hints! It works now!
>
> In finding information about non-literal arrays, it seems you put
> periods in between the array contents.
>
> I'm not sure I understand iClass class. It just seems to add class at
> the end. I suppose I would now have extra methods to work with in
> doing that?
No, I meant if you had tried that in your original example it would have answered "Symbol". Because that's what literal arrays store for unembellished identifiers (except for "nil", "true", and "false").
> Regarding TempObject, yeah I've been using it as a global variable for a
> while now, so it should be capitalized in my case. :-) I read all
> about the capitalization guidelines for smalltalk and it all makes
> sense to me.
In that case, it's all right. I guess the appropriate longevity of "temp" vars is in the eye of the beholder ;)
- Bert -
More information about the Beginners
mailing list