В духе вопроса вы можете ограничить переменную областью, если вы в порядке с другими локальными переменными, заблокированными в той же области. Это особенно полезно, если вы определяете что-то в классе и не хотите, чтобы локальная переменная оставалась в объявлении класса.
Единственный способ, которым я могу думать, это сделать с помощью Integer#times
или Array#each
, например:
1.times do |a|
a = 5
# code…
end
[5].each do |a|
# code…
end
Возможно, есть и другие, даже более чистые способы ограничения блока, кроме этого. Они не так чисты, как хотелось бы, и я бы хотел посмотреть, есть ли у кого-нибудь более чистый метод для этого.