Qual a utilidade da palavra reservada 'yield'?
A palavra reservada yield é utilizada em linguagens de programação para criar geradores, ou seja, funções que podem pausar e retomar a execução em determinados pontos, em vez de serem executadas do início ao fim de uma vez só.
Essa palavra-chave é útil em situações em que precisamos retornar uma sequência de valores sob demanda, economizando recursos de memória e permitindo um processamento mais eficiente. Em vez de gerar todos os valores de uma vez e armazená-los em uma estrutura de dados, podemos usar o yield para retornar um valor por vez.
Um exemplo prático de uso do yield é quando queremos imprimir todos os números pares de 0 a N, mas sem armazenar todos os números na memória de uma vez. Podemos fazer isso criando uma função geradora com um loop e a palavra-chave yield dentro dele. Veja o exemplo a seguir em Python:
def gerar_pares(n):
i = 0
while i <= n:
if i % 2 == 0:
yield i
i += 1
for numero in gerar_pares(10):
print(numero)
Nesse caso, a função gerar_pares() é uma função geradora que, ao ser chamada no loop for, gera um número par por vez. Cada vez que o yield é encontrado, o valor é retornado para o loop for, que o imprime. Dessa forma, a função gera apenas os números pares necessários, economizando memória.
Em resumo, a palavra reservada yield é útil para criar geradores de sequências de valores sem ocupar muita memória, permitindo um processamento mais eficiente.