Lua のコルーチンはとても便利ですが、意外とあんまり使われていないようなので、簡単な使い方をまとめてみたいと思います。 基本 Lua コルーチンは、関数に対して「途中で抜けて、あとで戻る」ための機能を追加した物です。 coroutine.yield コルーチンの中心的な機能である「途中で抜ける」には coroutine.yield という関数を使います。 function ex1 () coroutine.yield "HELLO!" coroutine.yield "HELLO AGAIN!!" return "SEE YOU!" end こんな風に使うと、関数の途中で抜けてそのときに、返り値として "HELLO!" や "HELLO AGAIN!!" という文字列を返します。 ただし、ここで定義した ex1 という関数はこのままでは「ただの関数」なので、この yield は使えません