54 捕获外部值
multiplier 返回后,Lambda 仍可读取外层的 factor。每次调用传入新的 number,同时沿用被捕获的倍数。
norm
Function<Integer(Integer)> multiplier(Integer factor) {
return (Integer number) {
number * factor
}
}
main() {
Function<Integer(Integer)> triple = multiplier(factor: 3)
printLine(triple(4))
printLine(triple(7))
}预期输出:
text
12
21动手试试:再创建一个倍数为 5 的函数值。
精确规则:语言参考。