Замикання (програмування)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

В програмуванні, замиканням (англ. closure) називається підпрограма, що виконується в середовищі, що містить одну або більше зв'язаних змінних. Під час виконання, підпрограма має доступ до цих змінних.

Застосування замикань асоціюється з функціональним програмуванням, та з такими мовами програмування як ML та Лісп. Такі конструкції, як об'єкти в інших мовах програмування, можуть моделюватись із допомогою замикань.

В деяких мовах програмування замикання створюється для підпрограм, що визначаються всередині інших підпрограм, і внутрішня підпрограма має доступ до локальних змінних зовнішньої підпрограми. Під час виконання, коли обчислюється зовнішня підпрограма, утворюється замикання, до якого потрапляє код внутрішньої підпрограми, та посилання на ті змінні зовнішньої підпрограми, що використовуються у внутрішній підпрограмі.

Концепцію замикань було повністю розроблено в 1960-ті роки та реалізовано як особливість мови програмування Scheme. Відтоді було розроблено багато мов програмування з підтримкою замикань.