Guest User

Untitled

a guest
Jun 19th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function lambda(str) {
  2.   var idx = str.indexOf(":");
  3.   var args = str.substring(0,idx).split(",");
  4.   var code = str.substring(idx+1);
  5.   return function () {
  6.     for(var i=0; i< arguments.length; i++) {
  7.       eval("var " + args[i] + " = " + arguments[i]);
  8.     }
  9.     return eval(code);
  10.   };
  11. }
  12.  
  13.  
  14. // basic usage
  15. var multiplier = lambda("x: x*2");
  16. alert(multiplier(10));
  17.  
  18. // execute the function when it returns.
  19. var done = lambda("x,y: Math.pow(x,y)")(12,2);
  20. alert(done);
  21.  
  22. // adding context, using this and call()
  23. var withThis = lambda(": this+2");
  24. alert(withThis.call(10));
  25.  
  26. // An empty function returns undefined
  27. var return_undefined = lambda("");
  28. alert(return_undefined());
  29.  
  30. // Creating a null function
  31. var return_null = lambda(": null");
  32. alert(return_null());
Add Comment
Please, Sign In to add comment