
##今天在看闭包的时候,书上说只要能找到名字为more的变量,f这个函数值(对象)就能正常工作。可是我在接下来的语句中定义了一个可变的more之后,f这个函数值还是只能读入之前的 val more这个自由变量。
#但是这里为什么没有读到最新的more,我还没有查到这是为什么

#这里我重新定义val more为2,可是执行f函数值之后,里面的more看样子还是1没有变化。。。


我将more1定义为可变的之后就能正常改变more1的值,并得到想要的结果
本文探讨了闭包中变量作用域的问题,作者在尝试修改闭包内的自由变量时遇到了挑战,发现即使重新定义了变量,闭包仍引用原始变量。通过实验,明确了只有在定义为可变的情况下,变量值才能在闭包中被更新。

##今天在看闭包的时候,书上说只要能找到名字为more的变量,f这个函数值(对象)就能正常工作。可是我在接下来的语句中定义了一个可变的more之后,f这个函数值还是只能读入之前的 val more这个自由变量。
#但是这里为什么没有读到最新的more,我还没有查到这是为什么

#这里我重新定义val more为2,可是执行f函数值之后,里面的more看样子还是1没有变化。。。


我将more1定义为可变的之后就能正常改变more1的值,并得到想要的结果

被折叠的 条评论
为什么被折叠?