Local

Локальные переменные начинаются со строчной буквы или _. Область видимости локальной переменной начинается с class, module, def или do и заканчивается соответствующим end или открывающей фигурной скобкой блока и закрывающей фигурной скобкой {}.

Обращение к неинициализированной локальной переменной интерпретируется как вызов метода без аргументов.

Присваивание значений неинициализированным локальным переменным также служит объявлением переменных. Переменные существуют до тех пор, пока не будет достигнут конец текущей области видимости. Время жизни локальных переменных определяется при разборе программы Ruby.

def method
var = 1
end

def another_method
var
end

another_method # => undefined local variable or method `var' for main:Object