In computer science, a generator is a routine that can be used to control the iteration behaviour of a loop. All generators are also iterators. A generator is very similar to a function that returns an array, in that a generator has parameters, can be called, and generates a sequence of values. However, instead of building an array containing all the values and returning them all at once, a generator yields the values one at a time, which requires less memory and allows the caller to get started processing the first few values immediately. In short, a generator looks like a function but behaves like an iterator.

Property Value
dbo:abstract
  • Generátor je v programování speciální funkce, kterou lze používat pro řízení opakování ve smyčkách. Všechny generátory jsou vlastně iterátory.Generátory se velmi podobají funkcím vracejícím pole tím, že mají parametry, lze je volat a generují posloupnosti hodnot. Na rozdíl od vytváření celých polí však generátory vydávají hodnoty po jedné, což šetří paměť, umožňuje pracovat s neomezenými sadami hodnot nebo s postupně vznikajícími hodnotami a dovoluje, aby volající mohl zpracovávat první hodnotu okamžitě. Jednoduše řečeno, generátor vypadá jako funkce ale se chová jako iterátor. Generátory mohou být implementovány pomocí expresivnějších řídicích struktur, například korutin nebo kontinuací první třídy. Generátory jsou někdy označovány za semikorutiny, a lze je považovat za speciální (slabší) případ korutin, protože při vrácení hodnoty vždy předávají řízení zpátky volajícímu, zatímco při použití obecných korutin je třeba pro získání stejného chování provést skok do volající korutiny; viz srovnání korutin s generátory. (cs)
  • In computer science, a generator is a routine that can be used to control the iteration behaviour of a loop. All generators are also iterators. A generator is very similar to a function that returns an array, in that a generator has parameters, can be called, and generates a sequence of values. However, instead of building an array containing all the values and returning them all at once, a generator yields the values one at a time, which requires less memory and allows the caller to get started processing the first few values immediately. In short, a generator looks like a function but behaves like an iterator. Generators can be implemented in terms of more expressive control flow constructs, such as coroutines or first-class continuations. Generators, also known as semicoroutines, are a special case of (and weaker than) coroutines, in that they always yield control back to the caller (when passing a value back), rather than specifying a coroutine to jump to; see comparison of coroutines with generators. (en)
  • En computación, un generador es una rutina especial que se puede usar para controlar el comportamiento de un iterador en un bucle.Un generador es muy similar a una función que devuelve un vector, en el que un generador tiene los parámetros que se pueden llamar, y genera una secuencia de valores. En lugar de construir un vector que contenga todos los valores y devolverlos de una vez, un generador proporciona un valor a la vez, lo que requiere menos memoria y, por lo tanto, permite que quien lo llama comience a procesar los primeros valores inmediatamente.En resumen, un generador se asemeja a una función pero se comporta como un iterador. Los generadores pueden implementarse en construcciones de control de flujo más expresivas, como la continuación de objetos de primera clase o como co-funciones. Los generadores aparecen por primera vez en 1975 en el lenguaje [[CLU]; y están disponibles en Python, C #, JavaScript, Ruby y en otros idiomas. En CLU y C#, los generadores se llaman iteradores y en Ruby . (es)
  • En informatique, un générateur est une routine non transparente référentiellement, généralement sans argument. Comme son nom l'indique, elle sert à créer de nouveaux objets. Parmi les générateurs les plus classiques, on trouve les générateurs de nombres aléatoires. Certains générateurs parcourent virtuellement une liste infinie, définie algorithmiquement. De tels générateurs sont appelés compréhensions de listes. Une fonction renvoyant tour à tour les éléments de la suite de Fibonacci ou tous les nombres premiers serait un tel générateur. (fr)
  • ジェネレータは、プログラムにおいて、数列の各要素の値などを次々と生成(ジェネレート)し他の手続きに渡す、という機能を持っている手続きである。値を渡す方法としては、コールバックのようにして他の手続きを呼ぶものもあれば、呼び出される度に次々と異なる値を返す関数であることもある。 (ja)
  • In informatica, un generatore è una speciale routine che può essere usata per il controllo del comportamento di un'iterazione in un loop.Un generatore è molto simile a una funzione che restituisce un vettore, nel quale un generatore ha i parametri, che possono essere chiamati, e genera una sequenza di valori. Invece di costruire un vettore contenente tutti i valori e restituirli in una volta, un generatore fornisce i valori uno alla volta, il che richiede meno memoria e permette così al chiamante di iniziare a elaborare i primi valori immediatamente.In breve, un generatore assomiglia a una funzione ma si comporta come un iteratore. I generatori possono essere implementati in costrutti di controllo di flusso più espressivi, come continuazione di oggetti di prima classe (first class object) o come co-funzioni. I generatori appaiono per la prima volta nel 1975 nel CLU; ora sono disponibili in Python, C#, JavaScript, Ruby e altri linguaggi. In CLU e C#, i generatori vengono chiamati iteratori e in Ruby . (it)
  • W informatyce, generator jest szczególnym rodzajem , który można wykorzystywać jako iterator. Po raz pierwszy generatory zostały wprowadzone w CLU (1975) i obecnie są dostępne w Pythonie, PHP, C#, Ruby i JavaScript. (W CLU i C# nazywane są iteratorami.) Generator jest bardzo podobny do funkcji zwracającej tablicę w tym, że tak jak ona może być wywoływany z argumentami i generuje listę wartości. Jednak zamiast budować pełną tablicę zawierającą wszystkie elementy i zwracać je wszystkie naraz, generator zwraca je po jednym, co znacznie oszczędza pamięć i pozwala funkcji wywołującej generator korzystać z danych od razu już od pierwszych elementów. Generatory można też wykorzystywać do leniwej iteracji po elementach listy. Jest to użyteczne, gdy prawdopodobnie potrzebnych będzie tylko kilka pierwszych elementów listy, a obliczenie całej listy byłoby kosztowne lub niepraktyczne. Przykładowy generator w C#: static IEnumerable<Pair<T>> WszystkieParyElementów<T>(IList<T> l) { for (int x=0;x<l.Count;x++) { for (int y=x+1;y<l.Count;y++) { yield return new Pair<T>(l[x],l[y]); } } } W Pythonie generator można traktować jako iterator zawierający zamrożone wywołanie funkcji. Za każdym razem, gdy wywoływana jest metoda next() iteratora, zamrożone wywołanie wykonuje się dalej aż do instrukcji yield. Wtedy wywołanie funkcji jest ponownie zamrażane, iterator podaje wartość obliczoną w instrukcji yield, a wykonanie programu jest kontynuowane w kodzie wywołującym iterator. (pl)
  • In de informatica is een generator een functie die gebruikt kan worden voor itereren met een lus. Een generator genereert een reeks waarden waar vervolgens over geïtereerd kan worden in een lus. Deze waarden worden na elkaar opgeleverd en telkens wanneer de generator een waarde oplevert kan de lus een keer uitgevoerd worden. Door een waarde uit te rekenen wanneer dit nodig is, kan dit efficiëntere code opleveren. Een generator gedraagt zich als een iterator die een datastructuur doorloopt maar een generator ziet eruit als een functie. Een generator verzorgt zowel het berekenen van de waarden als het doorlopen ervan terwijl een iterator alleen een bestaande datastructuur doorloopt. (nl)
  • Em ciência da computação, um gerador (em inglês, generator) é um procedimento especial que pode ser usado para controlar iteradores de loops. Um gerador é muito similar para funções que retornam arrays (ou vetores), geradores podem ter parâmetros, que também podem ser chamados e geram uma sequência de valores. Entretanto, em vez de construir uma sequência que contenha todos os valores e os retornam de uma só vez, um gerador utiliza a palavra-chave yield para retornar os valores um de cada vez, que utiliza menos memória e permite o processamento de poucos valores rapidamente. Um gerador é uma função mas comporta-se como um iterador. As primeiras aparições de geradores foram na CLU em 1975, e atualmente são encontrados facilmente em softwares em linguagem de programação Python e C#. (em CLU e C# generators são chamados de iteradores). Geradores são usualmente utilizados dentro de loops nas funções, que podem reduzir de grandes e demorados loops para únicos loops e rápidos. Um exemplo de gerador em Python: def contador(n): while True: yield n n += 1for i in contador(10): if i <= 20: print i else: break Em Python, um gerador pode ser pensado como um iterador que contém uma pilha. Sempre que é usado um iterador o método do next() é chamado, e é executado normalmente até o próximo yield ser alcançado. O gerador é congelado então outra vez, e o valor yield é retornado a quem o chamou. Os geradores computam seus valores yield somente por demanda, são úteis para representar as seqüências que são de difícil processamento pelo computador. (pt)
  • Генератор — в інформатиці, це підпрограма, що контролює ітерації в циклі. Генератор є підвидом ітератора. Різниця між ітератором і генератором: * Ітератор проходить по колекції по одному елементу за раз. * Генератор генерує елементи послідовності по одному елементу за раз. Генератор може бути реалізований у вигляді наступних конструкцій потоку керування як: * співпрограма; * продовження першого порядку. Генератор є частковим випадком співпрограми, оскільки завжди повертає керування до того коду, який його викликав. (uk)
  • 生成器是计算机科学中特殊的子程序。实际上,所有生成器都是迭代器。生成器非常类似于返回数组的函数,都是具有参数、可被调用、产生一系列的值。但是生成器不是构造出数组包含所有的值并一次性返回,而是每次产生一个值,因此生成器看起来像函数,但行为像迭代器。 生成器可以用更有表达力的控制流结构实现,如协程或头等計算續體。 生成器,也被称作半协程(semicoroutine),是特殊的、能力更弱的协程,总是在传回一个值时把控制交还给调用者,而不是像协程那样指出另一个协程继续执行。 (zh)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 572997 (xsd:integer)
dbo:wikiPageLength
  • 27543 (xsd:integer)
dbo:wikiPageRevisionID
  • 979633491 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dct:subject
rdf:type
rdfs:comment
  • En informatique, un générateur est une routine non transparente référentiellement, généralement sans argument. Comme son nom l'indique, elle sert à créer de nouveaux objets. Parmi les générateurs les plus classiques, on trouve les générateurs de nombres aléatoires. Certains générateurs parcourent virtuellement une liste infinie, définie algorithmiquement. De tels générateurs sont appelés compréhensions de listes. Une fonction renvoyant tour à tour les éléments de la suite de Fibonacci ou tous les nombres premiers serait un tel générateur. (fr)
  • ジェネレータは、プログラムにおいて、数列の各要素の値などを次々と生成(ジェネレート)し他の手続きに渡す、という機能を持っている手続きである。値を渡す方法としては、コールバックのようにして他の手続きを呼ぶものもあれば、呼び出される度に次々と異なる値を返す関数であることもある。 (ja)
  • Генератор — в інформатиці, це підпрограма, що контролює ітерації в циклі. Генератор є підвидом ітератора. Різниця між ітератором і генератором: * Ітератор проходить по колекції по одному елементу за раз. * Генератор генерує елементи послідовності по одному елементу за раз. Генератор може бути реалізований у вигляді наступних конструкцій потоку керування як: * співпрограма; * продовження першого порядку. Генератор є частковим випадком співпрограми, оскільки завжди повертає керування до того коду, який його викликав. (uk)
  • 生成器是计算机科学中特殊的子程序。实际上,所有生成器都是迭代器。生成器非常类似于返回数组的函数,都是具有参数、可被调用、产生一系列的值。但是生成器不是构造出数组包含所有的值并一次性返回,而是每次产生一个值,因此生成器看起来像函数,但行为像迭代器。 生成器可以用更有表达力的控制流结构实现,如协程或头等計算續體。 生成器,也被称作半协程(semicoroutine),是特殊的、能力更弱的协程,总是在传回一个值时把控制交还给调用者,而不是像协程那样指出另一个协程继续执行。 (zh)
  • Generátor je v programování speciální funkce, kterou lze používat pro řízení opakování ve smyčkách. Všechny generátory jsou vlastně iterátory.Generátory se velmi podobají funkcím vracejícím pole tím, že mají parametry, lze je volat a generují posloupnosti hodnot. Na rozdíl od vytváření celých polí však generátory vydávají hodnoty po jedné, což šetří paměť, umožňuje pracovat s neomezenými sadami hodnot nebo s postupně vznikajícími hodnotami a dovoluje, aby volající mohl zpracovávat první hodnotu okamžitě. Jednoduše řečeno, generátor vypadá jako funkce ale se chová jako iterátor. (cs)
  • In computer science, a generator is a routine that can be used to control the iteration behaviour of a loop. All generators are also iterators. A generator is very similar to a function that returns an array, in that a generator has parameters, can be called, and generates a sequence of values. However, instead of building an array containing all the values and returning them all at once, a generator yields the values one at a time, which requires less memory and allows the caller to get started processing the first few values immediately. In short, a generator looks like a function but behaves like an iterator. (en)
  • En computación, un generador es una rutina especial que se puede usar para controlar el comportamiento de un iterador en un bucle.Un generador es muy similar a una función que devuelve un vector, en el que un generador tiene los parámetros que se pueden llamar, y genera una secuencia de valores. Los generadores pueden implementarse en construcciones de control de flujo más expresivas, como la continuación de objetos de primera clase o como co-funciones. (es)
  • In informatica, un generatore è una speciale routine che può essere usata per il controllo del comportamento di un'iterazione in un loop.Un generatore è molto simile a una funzione che restituisce un vettore, nel quale un generatore ha i parametri, che possono essere chiamati, e genera una sequenza di valori. I generatori possono essere implementati in costrutti di controllo di flusso più espressivi, come continuazione di oggetti di prima classe (first class object) o come co-funzioni. (it)
  • W informatyce, generator jest szczególnym rodzajem , który można wykorzystywać jako iterator. Po raz pierwszy generatory zostały wprowadzone w CLU (1975) i obecnie są dostępne w Pythonie, PHP, C#, Ruby i JavaScript. (W CLU i C# nazywane są iteratorami.) Przykładowy generator w C#: static IEnumerable<Pair<T>> WszystkieParyElementów<T>(IList<T> l) { for (int x=0;x<l.Count;x++) { for (int y=x+1;y<l.Count;y++) { yield return new Pair<T>(l[x],l[y]); } } } (pl)
  • In de informatica is een generator een functie die gebruikt kan worden voor itereren met een lus. Een generator genereert een reeks waarden waar vervolgens over geïtereerd kan worden in een lus. Deze waarden worden na elkaar opgeleverd en telkens wanneer de generator een waarde oplevert kan de lus een keer uitgevoerd worden. Door een waarde uit te rekenen wanneer dit nodig is, kan dit efficiëntere code opleveren. (nl)
  • Em ciência da computação, um gerador (em inglês, generator) é um procedimento especial que pode ser usado para controlar iteradores de loops. Um gerador é muito similar para funções que retornam arrays (ou vetores), geradores podem ter parâmetros, que também podem ser chamados e geram uma sequência de valores. Entretanto, em vez de construir uma sequência que contenha todos os valores e os retornam de uma só vez, um gerador utiliza a palavra-chave yield para retornar os valores um de cada vez, que utiliza menos memória e permite o processamento de poucos valores rapidamente. Um gerador é uma função mas comporta-se como um iterador. (pt)
rdfs:label
  • Generátor (programování) (cs)
  • Generator (computer programming) (en)
  • Generador (informática) (es)
  • Générateur (informatique) (fr)
  • Generatore (informatica) (it)
  • ジェネレータ (プログラミング) (ja)
  • Generator (informatyka) (pl)
  • Generator (informatica) (nl)
  • Gerador (ciência da computação) (pt)
  • Генератор (програмування) (uk)
  • 生成器 (计算机编程) (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of