resume
Source: compiler/src/builtin_docs/keywords.md Runs a coroutine until its next yield or its end, and gives the yielded or returned value.
resume h with v also sends v, which becomes the value of the yield
expression the coroutine is suspended at. Resuming a finished coroutine
panics; check with done(h).
gen fn steps() {
yield 10;
yield 20;
return 30;
}
fn main() {
let h = steps();
let a = resume h; // 10
let b = resume h; // 20
let c = resume h; // 30
}
See also#
fn: Declares a function, a method, or (written in an expression) an anonymous function.let: Declares a mutable local variable.const: Declares a binding that cannot be reassigned: a local, a module constant, or a class field that is set only bynew.static: Declares a module-level or class-level slot shared by the whole program, or a method withoutself.readonly: A read-only view of a value: nothing reachable through it can be changed.if: Runs a block when aboolcondition is true.else: Introduces the branch of anifthat runs when its condition is false (or its pattern does not match).while: Repeats a block while aboolcondition is true.