was on rubygarden and had this idea regarding local and blocks :

in general, i like the way things work, but occansionally would like to be
able to 'export' a variable from inside a block.  so, i think to myself, why
not an export keyword?  something

(IO.readlines (path)).each do |line|
  export max = 0
  ...
  fields = line.split delim
  max = [max, fields].max
  ...
end

puts max    >> 42

what'dya think?

export would be a cross between C's static modifier (declared/defined once
only), but would be 'exported' into the parent scope - lexical or dynamic i'm
not sure - but you get the picture...

the mnemonic is like that of the shell's 'export var=42'

-a

-- 

 ====================================
 | Ara Howard
 | NOAA Forecast Systems Laboratory
 | Information and Technology Services
 | Data Systems Group
 | R/FST 325 Broadway
 | Boulder, CO 80305-3328
 | Email: ahoward / fsl.noaa.gov
 | Phone:  303-497-7238
 | Fax:    303-497-7259
 ====================================