“封闭”一词的反义词是什么?

时间:2010-09-30 07:11:33

标签: functional-programming closures terminology

考虑以下(C#)代码。传递给ConvolutedRand()的lambda被称为“关闭”名为format的变量。您将用什么术语来描述如何在MyMethod()中使用变量random?

void MyMethod
{
    int random;
    string format = "The number {0} inside the lambda scope";

    ConvolutedRand(x =>
    {
        Console.WriteLine(format, x);
        random = x;
    });

    Console.WriteLine("The number is {0} outside the lambda scope", random);
}

void ConvolutedRand(Action<int> action)
{
    int random = new Random.Next();
    action(random);
}

2 个答案:

答案 0 :(得分:3)

我通常在特定表达或词汇范围的上下文中听到“绑定”与“自由”。 lambda关闭了formatrandom(lambda中的'free',这就是为什么它关闭它们)。在MyMethod中,两个变量都只是局部绑定变量。

答案 1 :(得分:1)

那将是一个局部变量IMO。 (也许有一个更科学的名字,not free也许?)