2018-02-28 01:48:01 +01:00
|
|
|
var f1 = function(a: i32): i32 {
|
|
|
|
return a;
|
|
|
|
};
|
2018-03-12 14:06:39 +01:00
|
|
|
assert(f1(1) == 1);
|
|
|
|
|
2018-02-28 01:48:01 +01:00
|
|
|
var f2 = (a: i32): i32 => {
|
|
|
|
return a;
|
|
|
|
};
|
2018-03-12 14:06:39 +01:00
|
|
|
assert(f2(2) == 2);
|
|
|
|
|
2018-02-28 01:48:01 +01:00
|
|
|
var f3 = function someName(): void {
|
|
|
|
};
|
2018-03-03 18:38:38 +01:00
|
|
|
f3();
|
2018-03-12 14:06:39 +01:00
|
|
|
|
|
|
|
function makeAdder<T>(): (a: T, b: T) => T {
|
|
|
|
return function theAdder(a: T, b: T): T {
|
|
|
|
return a + b;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
var i32Adder = makeAdder<i32>();
|
|
|
|
assert(i32Adder(4, 2) == 6);
|
|
|
|
|
|
|
|
var f32Adder = makeAdder<f32>();
|
|
|
|
assert(f32Adder(1.5, 2.5) == 4.0);
|
|
|
|
|
|
|
|
function makeAdderArrow<T>(): (a: T, b: T) => T {
|
|
|
|
return (a: T, b: T): T => {
|
|
|
|
return a + b;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
var i8Adder = makeAdderArrow<i8>();
|
|
|
|
assert(i8Adder(127, 127) == -2);
|
|
|
|
|
|
|
|
f1 = f2;
|
|
|
|
assert(f1(4) == 4);
|