Локальные переменные начинаются со строчной буквы или _. Область видимости локальной переменной начинается с 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