Ответ 1
Никакая переменная не объявляется в Ruby. Скорее, правило состоит в том, что переменная должна появляться в присваивании до ее использования.
Посмотрите на первые две строки в первом примере:
input = ''
while input != 'bye'
Условие while
использует переменную input
. Поэтому перед этим необходимо назначение. Во втором примере:
while true
input = gets.chomp
puts input
Опять же, переменная input
назначается перед ее использованием в вызове puts
. В обоих примерах все верно с миром.