Почему методы ruby ​​не имеют лексической области видимости?

Например

def test
    a = "a is for apple"
    def inner_method
        a = "something" # this will refer to a different "a"
    end

    inner_method
    puts a
end

Есть ли для этого какие-то причины? У блоков есть лексическая область видимости, почему у методов нет? Это будет исправлено?

10
задан Herp Derpington 1 February 2012 в 01:23
поделиться