>>>>> "T" == Ted Meng <ted_meng / yahoo.com> writes: T> a=[1] until a.size != 1 T> ruby sees "a" as nil in "until" since somehow it T> checks "until" before "a=[1]", am I right ? Yes, this is equivalent to until a.size != 1 a = [1] end and 'begin a=[1] end until a.size != 1' is equivalent to begin a = [1] end until a.size != 1 Guy Decoux