次のコードがあり、その加算関数内の変数のスコープを理解したいと思います。x
呼び出し時に値を保持するにはどうすればよいでしょうか?
function adder(x)
return function (y) return x + y end
end
a1 = adder(9)
a2 = adder(36)
print(a1(33)) -- 42 how this can able to retain the value of x
print(a2(64)) -- 100
42
その加算器関数を2回目に呼び出したときに、私は取得しています。ここでこれがどのように可能ですか?