3
내 루아 스크립트 내에서 동일한 '구조'를 사용하는 여러 라이브러리가 있습니다. 예를 들어, require('b')
과 require('c')
이 포함 된 .lua가 있습니다. b.lua와 c.lua는 정보 기능을 가지고 있습니다. b.lua는 "b"를 출력하고 c.lua는 "c"를 출력하게합니다. a.lua에서 나는 B.lua 또는 C.lua에서 info()와 함께 coroutine을 시작하려고합니다.루아 - 코 루틴을위한 라이브러리 지정
b = {}
function b.info()
coroutine.yield()
print("b")
print("b2")
end
C.lua은 비슷한 구조를 가지고, 또한 때문에 보통 이상한 무엇 local co = coroutine.create(b.info())
와 코 루틴을 (를 시작하려고 할 때 B 형의 대부분은 C.로 대체됩니다 :
이
내 b.lua입니다 일시 중지됨) "metamethod/C-call 경계를 넘어서 양보하려고합니다"와 같은 오류가 발생합니다.
에서 나는 것을 알고, 함수, 함수가 아닌 호출를 전달해야합니다,하지만 내가 오류와는 아무 상관이있다. 나는 그것이 자동으로 시작된 것이 이상하다는 것을 의미했다. 내 문제는 내 코 루틴을 산출하는 동안 오류가 발생했습니다. – scheurneus
@scheurneus, 다시 시도하십시오. 내 편집 된 답변보기 – lhf