12. 部分適用:Scala
def add(a: Int, b: Int): Int = a + b
scala> def addFive = makeAdder(5)
addFive: Int => Int
scala> addFive(12)
res0: Int = 17
scala> def addSeven = makeAdder(7)
addSeven: Int => Int
scala> addSeven(12)
res1: Int = 19
(A)
(B) def makeAdder(a: Int): Int => Int = add(a, _: Int)
13. 部分適用:Go
func add(a, b int) int {
return a + b
}
func makeAdder(a int) func(int) int {
return add(a, _)
}
14. 部分適用:Go
func add(a, b int) int {
return a + b
}
func makeAdder(a int) func(int) int {
return func(b int) int {
return add(a, b)
}
}