To me,

a=[1] until a.size != 1 should be equivalent to

begin
	a = [1]
end until a.size != 1

that is a = [1] is executed before until is evaluated.

That said, the following does not work

#!bin/env ruby
begin
	a = [1]
rescue Exception
	p "do nothing"
end until a.size != 1

I do not understand why the "rescue" fails the working
code.

Thanks

-Ted