16 lines
290 B
Plaintext
16 lines
290 B
Plaintext
//Using a closure:
|
|
func apply(fun, fst) { snd => fun(fst, snd) }
|
|
|
|
//Usage:
|
|
func sum(x, y) { x + y }
|
|
|
|
var sum2 = apply(sum, 2)
|
|
var x = sum2(3) //x is 5
|
|
|
|
//By second argument
|
|
func flip(fun) { (y, x) => fun(x, y) }
|
|
func sub(x, y) { x - y }
|
|
|
|
var sub3 = apply(flip(sub), 3)
|
|
x = sub3(9) //x is 6
|