2

次のコードがあり、その加算関数内の変数のスコープを理解したいと思います。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回目に呼び出したときに、私は取得しています。ここでこれがどのように可能ですか?

4

1 に答える 1