Skip to content

Conversation

TomDeFrank
Copy link

The closure lesson as it stands can incorrectly fail.

It occurs if the student has their return statement on the same line as their zip() function declaration.

This fails:

function foo() {
  var bar;
  quux = 1;

  return function zip() {    
    var quux = 0;
    bar = true;
  };
}

This passes:

function foo() {
  var bar;
  quux = 1;

  function zip() {    
    var quux = 0;
    bar = true;
  };
  return zip;
}

By doing a regex match on scopeAsAscii for the string "return" you can accommodate both potential solutions.

Please let me know if you have any questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant