coffee script generated code not working

Hi,

My html code:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
    <script src="main.js"></script>
</head>
<body>

</body>
</html>

Open in new window


my coffee script code
myfunction = ->
  alert('test')

  myfunction()

Open in new window


the code generated by coffee script compiler
(function() {
  var myfunction;

  myfunction = function() {
    alert('test');
    return myfunction();
  };

}).call(this);

Open in new window


don't work, any idea?
LVL 1
joyacv2Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Julian HansenCommented:
Coffee Script is sensitive to semantics so
myfunction = ->
  alert('test')

  myfunction()

Open in new window

And
myfunction = ->
  alert('test')

myfunction()

Open in new window

May look the same but they are subtly different. The extra 2 spaces in front of the myfunction() invocation makes the difference between this line being included in function definition and being a call to the resulting function.
To illustrate the  output from the first is
var myfunction;

myfunction = function() {
  alert('test');
  return myfunction();
};

Open in new window

Which makes no sense and would result in
a) the myfunction not being called and
b) if it were called, to dive into some viscous recursion.

The second compiles to
var myfunction;

myfunction = function() {
  return alert('test');
};

myfunction();

Open in new window

Which makes more sense and will (I believe) do what you want.

You can test the above in the emulator "Try Coffee Script" here
http://coffeescript.org/

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
joyacv2Author Commented:
excellent! Thank you very much!
Julian HansenCommented:
You are most welcome.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
JavaScript

From novice to tech pro — start learning today.