Я пытаюсь понять, как переменные CoffeeScript ограничены областью видимости. Согласно документации:
Это поведение фактически идентично области видимости Ruby для локальных переменные.
Однако я обнаружил, что это работает по-другому.
На CoffeeScript
a = 1
changeValue = -> a = 3
changeValue()
console.log "a: #{a}" #This displays 3
На Ruby
a = 1
def f
a = 3
end
puts a #This displays 1
Кто-нибудь может объяснить, пожалуйста?