Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <meta name="description" content="Deep Dive Into Currying">
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width">
- <title>JS Bin</title>
- </head>
- <body>
- <script id="jsbin-javascript">
- // curry
- 'use strict';
- var getGradeTest = function getGradeTest(passGrade) {
- return function (failGrade) {
- return function (average) {
- return function (testScore) {
- return testScore >= average ? passGrade : failGrade;
- };
- };
- };
- };
- var tester = getGradeTest('Pass')('Fail')(0.5);
- console.log(tester(0.7), tester(0.3));
- // uncurry
- var uncurriedGetGradeTest = function uncurriedGetGradeTest(passGrade, failGrade, average, testScore) {
- return testScore >= average ? passGrade : failGrade;
- };
- console.log(uncurriedGetGradeTest('ok', 'ko', 0.5, 0.6));
- </script>
- <script id="jsbin-source-javascript" type="text/javascript">// curry
- const getGradeTest =
- passGrade =>
- failGrade =>
- average =>
- testScore =>
- testScore >= average ? passGrade : failGrade;
- const tester = getGradeTest('Pass')('Fail')(0.5);
- console.log(tester(0.7), tester(0.3));
- // uncurry
- const uncurriedGetGradeTest =
- (passGrade, failGrade, average, testScore) =>
- testScore >= average ? passGrade : failGrade;
- console.log(uncurriedGetGradeTest('ok', 'ko', 0.5, 0.6));
- </script></body>
- </html>
Add Comment
Please, Sign In to add comment