yield - это (1) ключевое слово, облегчающее создание функций генератора, (2) оператор Ruby для передачи управления от одной сопрограммы к другой, (3) оператор Java, используемый для получения значения из выражения переключения ,
В python оператор yield
используется только при определении функции генератора и только в теле функции генератора. Использование оператора yield в определении функции достаточно для того, чтобы это определение создало функцию-генератор вместо обычной функции.
В ruby оператор yield
находится в контексте сопрограмм, обычно используемых для передачи управления от одной сопрограммы к другой, например, от метода к блоку, переданному в него в качестве аргумента. . [1 125]
c # 'yield return
эквивалентно Python yield
, а yield break
просто return
в Python. В C # yield
используется в блоке итератора для предоставления значения объекту перечислителя или для оповещения об окончании итерации.
yield
используется в функциях генератора ecmascript-6 и javascript-1.7 так же, как и в функциях генератора Python.
В scala yield
используется в for-comprehension
строительстве. for-comprehension
перебирает одну или несколько коллекций и использует yield
для создания и возврата новой коллекции.
В java , yield
- это ключевое слово, используемое в выражении yield: <yield-target>
для получения значения, которое становится значением вмещающего выражения switch
.