Skip to content

Instantly share code, notes, and snippets.

@mihalycsaba
Last active April 30, 2020 15:54
Show Gist options
  • Save mihalycsaba/a85fe2dc45fbace0b9bd9a356c8d3b94 to your computer and use it in GitHub Desktop.
Save mihalycsaba/a85fe2dc45fbace0b9bd9a356c8d3b94 to your computer and use it in GitHub Desktop.
dart
Function makeMultiplier(num multiplyBy) {
return (num i) => multiplyBy * i;
}
Function makeAdder(num addBy, num addByOther) {
return (num i, num j) => addBy + addByOther + i + j;
}
Function makeAdderAndMultiplier(num addBy, num multiplyBy) {
var f = makeMultiplier(multiplyBy);
num res = f(2);
return (num i) => addBy + res + i;
}
void main() {
var add2 = makeAdder(2,0);
var add2plus2plus1 = makeAdder(add2(2,1),0);
var add4minus1 = makeAdder(4,-1);
var wut = makeAdder(add4minus1(3,-1),add2(3,5));
var aaa = makeAdderAndMultiplier(0,10);
print(add2(3,0));
print(add4minus1(1,0));
print(add2(2,0));
print(add2plus2plus1(-1,0));
print(wut(0,0));
print(' ');
print(aaa(0));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment