Dennis Roberts wrote:

> This works!  Thanks.  What is the difference between each and collect? 
> With each it still didn't work, but it did with collect.

The `each' method merely walks an Array (or other Enumerable.)  But 
`collect' (a.k.a `map') walks the Array, replacing each element with the 
result from the block.  At the end of `collect', you have a new Array.

So, in the cgi example, you started with an array of:
  ['one', 'two', 'three']

The `collect' processes each through the `text_field' method and you 
wind up with:
  ["<INPUT NAME=\"one\" SIZE=\"40\" TYPE=\"text\" VALUE=\"one\">", 
"<INPUT NAME=\"two\" SIZE=\"40\" TYPE=\"text\" VALUE=\"two\">", "<INPUT 
NAME=\"three\" SIZE=\"40\" TYPE=\"text\" VALUE=\"three\">"]

_why