(pardon the delayed reply - I tried to setup the
ruby-talk.com proxy before sending this out)

"Hal E. Fulton" wrote:
> ...
> What if Ruby had a method explicitly
> for "passing" a definition to the outer
> scope? (I have no idea how this might
> be implemented.)
> 
> my_method do |x,y,z|
>    # ...
>    my_var = 123     # my_var is created here
>    #...
>    export :my_var
> end
> 
> # Now this scope knows about my_var!
> puts my_var      # 123
> 
> This would be a partial solution to the
> block problem... since one reason people
> pass existing variables into the |...| list is
> so that they can retrieve the values after
> the block exit.
...
> Comments and criticisms?
> 

I brought up this same concept in ruby-talk:12563, under
the section titled EXPORT. So naturally I would like the idea ;-)

However, I don't think matz is interested in all sorts of
workarounds. 

ruby-talk:12714  http://www.ruby-talk.com/12714
>>>
|> I personally don't prefer the concept of exporting local variable out
|> of closed scope.  Maybe my feeling was caused by misunderstanding.
|
|That surprises me, based on your comments in ruby-talk:12599

What I want is not exporting, but flat scope by default.
<<<

He really would just like the scope to be flattened, and he knows this 
will break old code, and is pausing. Secondly, he would like to add the 
ability to control when a variable stay block-local. 

ruby-talk:5531  http://www.ruby-talk.com/5531
>>>
In addition, there should be way to distinguish local variables
local to the closure and local variables shared with outer
scope.  For most languages, declarations do the job, but I have
no idea what is good for Ruby yet.
<<<

That is where <> comes into play, among other designators. I now favor 
the :var approach inside ||. Matz has not quite decided yet what to do...

ruby-talk:14621  http://www.ruby-talk.com/14621
>>>
I've not decided yet.  I think I should work on local variable scope
propagation and explicite local scoping along with <>.  Both are
little bit hard to implement.
<<<




Guy N. Hurst



-- 
HurstLinks Web Development    http://www.hurstlinks.com/
Norfolk, VA  23510            (757)623-9688 FAX 623-0433
PHP/MySQL - Ruby/Perl - HTML/Javascript