Search code examples
livescript

LiveScript do closure not working


a = 5
do (a) ->
    console.log a

Why does this compile to

a = 5;
(function(a){
  return console.log(a);
})();

a is not passed in so it is undefined. Am I doing self executing closure wrong?


Solution

  • In LiveScript, do just invokes a function. You're looking for let :

    let a
      console.log a