2
闭合和嵌套闭合有什么区别?例子的一个很好的解释会很有帮助。闭合和嵌套闭合有什么区别?
闭合和嵌套闭合有什么区别?例子的一个很好的解释会很有帮助。闭合和嵌套闭合有什么区别?
变量的范围和它们绑定的环境。
而如何辛苦,他们是在一个编译器 :)
ClosureA可以绑定到它来实现本地范围LA和家长范围PA,然后调用ClosureB内封闭势必(潜在) LB,LA,PA
func a(v1,v2,v3){
closure_b(bv1, bv2, bv3) { # Closure
b_local1 = bv1
b_local2 = v1 # parent scope
closure_c(cv1, cv2) { # Nested closure has 'closure_b's scope too
c_local1 = cv1
c_local2 = bv1 # direct-parent scope
c_local3 = v1 # parent's parent scope (nesting)
c_local4 = b_local2
}
return closure_c;
}
return closure_b(); # closure_b() returns closure_c
}
我跟随在你的代码一切,直到return语句。我不认为closure_c可以在closure_b之外访问。你能否解释一下如何从func的范围返回closure_c?或者这个例子中的return语句是不正确的? – adamjcooper 2009-06-30 15:50:33