Guest User

Untitled

a guest
Nov 23rd, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="description" content="Deep Dive Into Currying">
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width">
  7. <title>JS Bin</title>
  8. </head>
  9. <body>
  10.  
  11. <script id="jsbin-javascript">
  12. // curry
  13. 'use strict';
  14.  
  15. var getGradeTest = function getGradeTest(passGrade) {
  16. return function (failGrade) {
  17. return function (average) {
  18. return function (testScore) {
  19. return testScore >= average ? passGrade : failGrade;
  20. };
  21. };
  22. };
  23. };
  24.  
  25. var tester = getGradeTest('Pass')('Fail')(0.5);
  26.  
  27. console.log(tester(0.7), tester(0.3));
  28.  
  29. // uncurry
  30. var uncurriedGetGradeTest = function uncurriedGetGradeTest(passGrade, failGrade, average, testScore) {
  31. return testScore >= average ? passGrade : failGrade;
  32. };
  33.  
  34. console.log(uncurriedGetGradeTest('ok', 'ko', 0.5, 0.6));
  35. </script>
  36.  
  37.  
  38.  
  39. <script id="jsbin-source-javascript" type="text/javascript">// curry
  40. const getGradeTest =
  41. passGrade =>
  42. failGrade =>
  43. average =>
  44. testScore =>
  45. testScore >= average ? passGrade : failGrade;
  46.  
  47. const tester = getGradeTest('Pass')('Fail')(0.5);
  48.  
  49. console.log(tester(0.7), tester(0.3));
  50.  
  51. // uncurry
  52. const uncurriedGetGradeTest =
  53. (passGrade, failGrade, average, testScore) =>
  54. testScore >= average ? passGrade : failGrade;
  55.  
  56. console.log(uncurriedGetGradeTest('ok', 'ko', 0.5, 0.6));
  57. </script></body>
  58. </html>
Add Comment
Please, Sign In to add comment