| p:abstract
| - In computer science, a generator is a special routine that can be used to control the iteration behaviour of a loop. 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 informatique, un générateur est une routine non transparente référentiellement, généralement sans arguments. 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. Catégorie:Programmation informatique (fr)
- ジェネレータ(英: generator)は、計算機科学の分野において、繰り返し動作の振る舞いを制御するために用いられる特殊なサブルーチンである。ジェネレータは、パラメータを持ち、呼び出し可能で、値の列を持つという点で配列を返す関数と非常に良く似ている。しかし、すべての要素を一度に計算し配列を構築するのではなく、ジェネレータは一度に一つの値しか生成しない。これによりわずかしかメモリを消費せず、呼び出し側は最初の一部の値を用いて即座に処理を開始できる。そのため、ジェネレータの実装に遅延評価を用いることができる場合もある。しかし、ジェネエレータは参照透過ではない。簡単に言えば、ジェネレータは関数に類似しているが、イテレータのように振舞う。 (ja)
- W informatyce, generator jest szczególnym rodzajem kontynuacji, który można wykorzystywać jako iterator. Po raz pierwszy generatory zostały wprowadzone w CLU i obecnie są dostępne w Pythonie, C#, Ruby i JavaScript. 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 na raz, 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#: <source lang="csharp"> static IEnumerable<Pair<T>> WszystkieParyElementów<T> { for { for { yield return new Pair<T>; } } } </source> 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)
- Em ciência da computação, um generator (em português, gerador) é um procedimento especial que pode ser usado para controlar iteradores de loops. Um generator é muito similar para funções que retornam arrays, generators 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 generator 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 rápidamente. Um generator é uma função mas comporta-se como um iterador.As primeiras aparições de Generators foram na CLU em 1975, e atualmente são encontradas facilmente em softwares em linguagem de programação Python e C#. . Generators 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 generator em Python:def contador: while True: yield n n += 1for i in contador: if i <= 20: print i else: breakEm Python, um generator pode ser pensado como um iterador que contem uma pilha. Sempre que é usado um iterator 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)
|
| rdfs:comment
| - In computer science, a generator is a special routine that can be used to control the iteration behaviour of a loop. 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. (en)
- En informatique, un générateur est une routine non transparente référentiellement, généralement sans arguments. 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. (fr)
- ジェネレータ(英: generator)は、計算機科学の分野において、繰り返し動作の振る舞いを制御するために用いられる特殊なサブルーチンである。ジェネレータは、パラメータを持ち、呼び出し可能で、値の列を持つという点で配列を返す関数と非常に良く似ている。しかし、すべての要� を一度に計算し配列を構築するのではなく、ジェネレータは一度に一つの値しか生成しない。これによりわずかしかメモリを消費せず、呼び出し側は最初の一部の値を用いて即座に処理を開始できる。そのため、ジェネレータの実装に遅延評価を用いることができる� �合もある。しかし、ジェネエレータは参照透過ではない。簡単に言えば、ジェネレータは関数に類似しているが、イテレータのように振舞う。 (ja)
- W informatyce, generator jest szczególnym rodzajem kontynuacji, który można wykorzystywać jako iterator. (pl)
- Em ciência da computação, um generator (em português, gerador) é um procedimento especial que pode ser usado para controlar iteradores de loops. (pt)
|