[Newbies] How to put a block into an Array
Matthew Fulmer
tapplek at gmail.com
Fri May 16 19:17:19 UTC 2008
On Fri, May 16, 2008 at 12:11:50PM -0700, David Finlayson wrote:
> Newbie here, working my way through Guzdial's Squeak: Object-Oriented
> Design with Multimedia Applications (2001). One of the exercises
> requires building an Array with a block of code as an element, the
> idea is to lookup the stored block in some way and execute it. But,
> how do you store a block of code in an Array?
>
> For example, I can do this:
>
> [Transcript show: 'a message'] value
>
> But I can't get this to work:
>
> myArray := #([Transcript show: 'a message']).
> (myArray at: 1) value
>
> The reason is that (myArray at: 1) doesn't recognize the stored object
> as a block. Inspecting it shows the odd symbol: #[ ??
>
> Can someone get me back on the clue train?
the #() syntax only supports numbers and symbols. Use the brace
syntax, or build the array using messages:
myArray := {[Transcript show: 'a message']}
myArray := Array with: [Transcript show: 'a message']
--
Matthew Fulmer -- http://mtfulmer.wordpress.com/
More information about the Beginners
mailing list