Yield
The yield keyword is used to alter a starting point of a function for future calls. At the moment of execution, yield acts as return and can even return a value. The difference is that during the next call, the function will start its execution from the instruction right after the yield operator.
Syntax
// some_code_before;
yield value;
// some_code_after;
Parts
- value is a value to yield. It is optional (0 by default).
Example
int foo() {
begin:
// execution starts here during the first call
log.message("one, ");
// execution ends here during the first call
yield;
// execution starts here during the second call
log.message("two, ");
// execution ends here during the second call
yield;
// execution starts here during the third call
log.message("three, ");
// execution starts here during the third call
yield;
// execution starts here during the fourth call
goto begin;
}
forloop(int i = 0; 10) foo();
// the result is: one, two, three, one, two, …
Last update: 2017-12-21
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)