[squeak-dev] List of all global variables? (Environments?)
H. Hirzel
hannes.hirzel at gmail.com
Mon Apr 3 17:45:12 UTC 2017
P.S. A more elegant solution is mentioned at the bottom of page
http://wiki.squeak.org/squeak/1824
Smalltalk globals reject: [:each | each class isMeta]
Result attached.
For that to work Environment needs the addition of
reject: aBlock
^ declarations reject: aBlock
in the 'emulating' instance method protocol
On 4/3/17, H. Hirzel <hannes.hirzel at gmail.com> wrote:
> Hello
>
> The recipe: How to list all global variables [1]
>
> has the code snippet
>
>
>
> Smalltalk keys
> select:
> [:k | ((Smalltalk at: k) isKindOf: Class) not]
> thenCollect:
> [:k | k -> (Smalltalk at: k) class]
>
>
> to give a list of global variables.
>
>
> When executing this code the recommendation is to use
>
> Smalltalk globals
>
> instead of
>
> Smalltalk keys
>
>
> A rewrite because of Environments not having #select:thenCollect: (I
> do not think that is necessary) then is
>
> (Smalltalk globals select: [:k | ((Smalltalk at: k) isKindOf: Class)
> not])
> collect: [:k | k -> (Smalltalk at: k) class]
>
> Then I get 'key not found: ExtendedNumberParser'.
>
> I wonder what is going on here ...
>
> Regards
> Hannes
>
>
> [1] http://wiki.squeak.org/squeak/1824
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Global_variables_in_Squeak_Smalltalk_2017-04-03.png
Type: image/png
Size: 41990 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20170403/5f6a8410/attachment.png>
More information about the Squeak-dev
mailing list
|