I already found an answer to my question it seems

bad was:
>Blocks define a new variable scope: variables created within a block exist only 
within that block and are undefined outside of the block. Be cautious, however; 
the local variables in a method are available to any blocks within that method. So 
if a block assigns a value to a variable that is already defined outside of the 
block, this does not create a new block-local variable but instead assigns a new 
value to the already-existing variable. 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

solution:
>Ruby 1.9 is different in another important way, too. Block syntax has been 
extended to allow you to declare block-local variables that are guaranteed to be 
local, even if a variable by the same name already exists in the enclosing scope. 
To do this, follow the list of block parameters with a semicolon and a 
comma-separated list of block local variables.

so ok, thanks, problem is gone, it was just my laziness to read all the 
docs heh, sorry.

  bye, Vladimir

-- 
Posted via http://www.ruby-forum.com/.