인수를 lua_resume 및 lua_yield에 전달하는 목적은 무엇입니까?루아 : lua_resume 및 lua_yield 인수 목적
나는 lua_resume에 대한 첫 번째 호출에서 인수가 재개되는 루아 함수에 전달된다는 것을 알고 있습니다. 이것은 의미가 있습니다. 그러나 나는 lua_resume에 대한 모든 후속 호출이 동시 루틴의 함수에서 인수를 "업데이트"할 것으로 기대합니다. 그러나 그런 경우는 아닙니다.
lua_yield가 반환하기 위해 인수를 lua_resume에 전달하는 목적은 무엇입니까? 코 루틴에서 실행되는 루아 함수가 lua_resume에 전달 된 인자에 접근 할 수 있습니까?
나는 이것이 질문에 대답하지 않는 것처럼 느낀다.OP는 표준 라이브러리'coroutine.resume()'과 다른 의미를 갖는/C API/함수 lua_resume()과 lua_yield()에 관한 것이었다. (예를 들어, lua_resume은 세 개의 인수를 취한다 - 두 개는 lua_State ...) – BadZen
필자는 매개 변수 전달의 목적에 대한 질문에 대답하고 루아 인터프리터를 사용하기 쉽도록 예제를 제공한다고 생각합니다. 사실 니콜 (Nicol)의 대답에 따르면 OP는 그의 발언에서 많은 것을 말했다. 당신이 더 나은 사람이라면 언제든지 자신의 대답을 줄 수 있습니다. –
libs의 coroutine 객체 (예 : lua_State를 캡슐화 함)와 C API를 사용하면 큰 차이가 있습니다. 나는 더 좋은 대답이 없으므로 C API에 관해 특별히 묻는 또 다른 질문을 열었다. 니콜 (Nichol)의 대답과 여기에있는 내용은 모두 coroutine 라이브러리 객체에 대해 이야기합니다. lua_ * API 측면에서이를 구현하는 약 100 줄의 코드가 있습니다. 명확하지 않으며 문서에 대한 자세한 내용은 짧습니다. – BadZen