About: Closure (computer programming)     Goto   Sponge   NotDistinct   Permalink

An Entity of Type : yago:WikicatProgrammingParadigms, within Data Space : dbpedia.org associated with source document(s)
QRcode icon
http://dbpedia.org/describe/?url=http%3A%2F%2Fdbpedia.org%2Fresource%2FClosure_%28computer_programming%29

In programming languages, a closure, also lexical closure or function closure, is a technique for implementing lexically scoped name binding in a language with first-class functions. Operationally, a closure is a record storing a function together with an environment. The environment is a mapping associating each free variable of the function (variables that are used locally, but defined in an enclosing scope) with the value or reference to which the name was bound when the closure was created. Unlike a plain function, a closure allows the function to access those captured variables through the closure's copies of their values or references, even when the function is invoked outside their scope.

AttributesValues
rdf:type
rdfs:label
  • Closure (Funktion) (de)
  • Κλείσιμο (επιστήμη υπολογιστών) (el)
  • Clausura (informática) (es)
  • Closure (computer programming) (en)
  • Fermeture (informatique) (fr)
  • Chiusura (informatica) (it)
  • 클로저 (컴퓨터 프로그래밍) (ko)
  • クロージャ (ja)
  • Closure (nl)
  • Domknięcie (programowanie) (pl)
  • Clausura (ciência da computação) (pt)
  • Замыкание (программирование) (ru)
  • Замикання (програмування) (uk)
  • 闭包 (计算机科学) (zh)
rdfs:comment
  • In programming languages, a closure, also lexical closure or function closure, is a technique for implementing lexically scoped name binding in a language with first-class functions. Operationally, a closure is a record storing a function together with an environment. The environment is a mapping associating each free variable of the function (variables that are used locally, but defined in an enclosing scope) with the value or reference to which the name was bound when the closure was created. Unlike a plain function, a closure allows the function to access those captured variables through the closure's copies of their values or references, even when the function is invoked outside their scope. (en)
  • Domknięcie – w metodach realizacji języków programowania jest to obiekt wiążący funkcję lub referencję do funkcji oraz środowisko mające wpływ na tę funkcję w momencie jej definiowania. Środowisko przechowuje wszystkie nielokalne obiekty wykorzystywane przez funkcję. Realizacja domknięcia jest zdeterminowana przez język, jak również przez kompilator. Domknięcia występują głównie w językach funkcyjnych, w których funkcje mogą zwracać inne funkcje (tzw. funkcje wyższego rzędu), wykorzystujące zmienne utworzone lokalnie. Aby funkcje tego typu były możliwe, muszą one być typem pierwszoklasowym. (pl)
  • Em ciência da computação e na programação uma clausura (do inglês closure) é uma função que referencia variáveis livres no contexto léxico. Uma clausura ocorre normalmente quando uma função é declarada dentro do corpo de outra, e a função interior referencia variáveis locais da função exterior. Em tempo de execução, quando a função exterior é executada, então uma clausura é formada, que consiste do código da função interior e referências para quaisquer variáveis no âmbito da função exterior que a clausura necessita. (pt)
  • 在计算机科学中,闭包(英語:Closure),又稱词法闭包(Lexical Closure)或函數閉包(function closures),是在支持头等函数的编程语言中实现词法绑定的一种技术。闭包在实现上是一个结构体,它存储了一个函数(通常是其入口地址)和一个关联的环境(相当于一个符号查找表)。环境里是若干对符号和值的对应关系,它既要包括约束变量(该函数内部绑定的符号),也要包括自由变量(在函数外部定义但在函数内被引用),有些函数也可能没有自由变量。闭包跟函数最大的不同在于,当捕捉闭包的时候,它的自由变量会在捕捉时被确定,这样即便脱离了捕捉时的上下文,它也能照常运行。捕捉时对于值的处理可以是值拷贝,也可以是名称引用,这通常由语言设计者决定,也可能由用户自行指定(如C++)。 (zh)
  • Στην πληροφορική, κλείσιμο (αγγλ: closure) ονομάζεται μια συνάρτηση πρώτης τάξης με που έχουν στο . Μια τέτοια συνάρτηση λέγεται ότι «κλείνεται» ως προς τις ελεύθερες μεταβλητές της. Ένα κλείσιμο ορίζεται τουλάχιστον μέσα στα όρια στα οποία είναι ορατές οι ελεύθερες μεταβλητές του. Η ρητή χρήση κλεισιμάτων είναι συνδεδεμένη με το συναρτησιακό προγραμματισμό και με γλώσσες όπως η ML και η Lisp. Τα κλεισίματα χρησιμοποιούνται για την υλοποίηση στυλ περάσματος συνεχειών, επιτυγχάνοντας με αυτόν τον τρόπο την απόκρυψη δεδομένων (hiding state). Τα αντικείμενα και οι μπορούν να υλοποιηθούν με αυτόν τον τρόπο. (el)
  • Eine Closure (oder Funktionsabschluss) ist ein Konzept aus der funktionalen Programmierung. Es beschreibt eine Funktion, die Zugriffe auf ihren Erstellungskontext enthält. Beim Aufruf greift die Funktion dann auf diesen Erstellungskontext zu. Dieser Kontext (Speicherbereich, Zustand) ist außerhalb der Funktion nicht referenzierbar, d. h. nicht sichtbar. (de)
  • En lenguajes de programación, una clausura o cerradura​​ (del inglés closure) es una técnica para implementar ámbitos léxicos en un lenguaje de programación con funciones de primera clase. Una cerradura es un registro que contiene una función junto con el ámbito donde fue declarada. La clausura permite que la función acceda a los valores de las variables declaradas en el mismo ámbito, aun cuando la invocación ocurra fuera de este. El uso de clausuras se asocia con el paradigma de programación funcional. (es)
  • Dans un langage de programmation, une fermeture ou clôture (en anglais : closure) est une fonction accompagnée de son environnement lexical. L'environnement lexical d'une fonction est l'ensemble des variables non locales qu'elle a capturées, soit par valeur (c'est-à-dire par copie des valeurs des variables), soit par référence (c'est-à-dire par copie des adresses mémoires des variables). Une fermeture est donc créée, entre autres, lorsqu'une fonction est définie dans le corps d'une autre fonction et utilise des paramètres ou des variables locales de cette dernière. (fr)
  • Nei linguaggi di programmazione, una chiusura è una astrazione che combina una funzione con le variabili libere presenti nell'ambiente in cui è definita secondo le regole di scope del linguaggio. Le variabili libere dell'ambiente rimangono accessibili per tutta la durata di vita (extent) della chiusura e pertanto persistono nel corso di invocazioni successive della chiusura. Di conseguenza, le variabili della chiusura possono essere usate per mantenere uno stato ed emulare costrutti della programmazione a oggetti. (it)
  • 컴퓨터 언어에서 클로저(Closure)는 일급 객체 함수(first-class functions)의 개념을 이용하여 스코프(scope)에 묶인 변수를 바인딩 하기 위한 일종의 기술이다. 기능상으로, 클로저는 함수를 저장한 레코드(record)이며, 스코프(scope)의 인수(Factor)들은 클로저가 만들어질 때 정의(define)되며, 스코프 내의 영역이 소멸(remove)되었어도 그에 대한 접근(access)은 독립된 복사본인 클로저를 통해 이루어질 수 있다. 예제. 다음의 짧은 스크립트(Script)는 고계함수(higher-order function)인 startAt에 대해서 정의한다. startAt은 x 인수와 incrementBy 중첩함수로 이루어져 있다. incrementBy 함수는 코드 블록(lexical scope)에 속해 있으므로, 인수인 x에 대한 접근이 가능하다. startAt 함수는 x의 값(Value)이나 참조(Reference)를 복사한 클로저를 반환한다. startAt과 incrementBy는 x와 y의 값을 더한다. (ko)
  • In de informatica is een closure een functie die gebruikmaakt van variabelen die zich bevinden in het bereik waarin de functie is gedefinieerd, maar niet per se in het bereik waarin de functie wordt aangeroepen. Zulke variabelen van een closure worden samen de omgeving van de closure genoemd. (nl)
  • クロージャ(クロージャー、英語: closure)、関数閉包はプログラミング言語における関数オブジェクトの一種。いくつかの言語ではラムダ式や無名関数にて利用可能な機能・概念である。引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決することを特徴とする。関数とそれを評価する環境のペアであるともいえる。この概念は少なくとも1960年代のSECDマシンまで遡ることができる。まれに、関数ではなくとも、環境に紐付けられたデータ構造のことをクロージャと呼ぶ場合もある。クロージャをサポートする言語によるプログラミングでは、単に関数の中に関数を定義することができるだけでなく、その際に、外側の関数(エンクロージャ)で宣言された変数を暗黙的に内側の関数に取り込んで操作することができる。主な利点としてはグローバル変数の削減やコールバック関数記述の簡素化が挙げられる。 クロージャはプログラム内で環境を共有するための仕組みである。レキシカル変数はグローバルな名前空間を占有しないという点でグローバル変数とは異なっている。またオブジェクト指向プログラミングにおけるオブジェクトのインスタンス変数とは、オブジェクトのインスタンスではなく関数の呼び出しに束縛されているという点で異なる。 クロージャは関数型言語では遅延評価やカプセル化のために、また高階関数の引数として広く用いられる。 (ja)
  • Замыкание (англ. closure) в программировании — функция первого класса, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции в окружающем коде и не являющиеся её параметрами. Говоря другим языком, замыкание — функция, которая ссылается на в своей области видимости. Замыкание, так же как и экземпляр объекта, есть способ представления функциональности и данных, связанных и упакованных вместе. (ru)
  • У програмуванні замиканням (англ. closure) називають підпрограму, що виконується в середовищі, яке містить одну або більше . Підпрограма має доступ до цих змінних під час виконання. Застосування замикань асоціюється з функціональним програмуванням. У функціональному програмуванні за допомогою замикань можуть моделюватись такі конструкції, як об'єкти в інших мовах програмування. (uk)
dcterms:subject
Wikipage page ID
Wikipage revision ID
Link from a Wikipage to another Wikipage
Faceted Search & Find service v1.17_git139 as of Feb 29 2024


Alternative Linked Data Documents: ODE     Content Formats:   [cxml] [csv]     RDF   [text] [turtle] [ld+json] [rdf+json] [rdf+xml]     ODATA   [atom+xml] [odata+json]     Microdata   [microdata+json] [html]    About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 08.03.3330 as of Mar 19 2024, on Linux (x86_64-generic-linux-glibc212), Single-Server Edition (378 GB total memory, 53 GB memory in use)
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2024 OpenLink Software