Путаница с областью видимости переменных CoffeeScript

Я пытаюсь понять, как переменные 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

Кто-нибудь может объяснить, пожалуйста?

6
задан Andrew Marshall 26 March 2012 в 04:44
поделиться