저는 루아를 매우 신중하게 사용하고 있습니다. 프로그램을 시작할 때 테이블을 전역으로 초기화하려고합니다. 맨 위에는 다음이 있습니다.전역 테이블 초기화 및 사용
storage = {}
그런 다음이 테이블의 요소를 같은 파일의 함수 내에서 반복하고 싶습니다. 하나의 예는 다음과 같습니다이 경우
local output
for item in storage do
output = output .. item
end
return output
, 내가 얻을 :
attempt to call a nil value
for
로 시작하는 줄에.
나는 또한 storage[1]
을 인쇄 해 보았습니다. 이 경우 얻을 수 있습니다 :
attempt to index local 'storage' (a nil value)
누군가가 여기에 무엇이 잘못 될 수 있는지 간단히 설명해 주시겠습니까?
'storage' 변수를 사용하려고하는 코드와 동일한 파일에 초기화하고 있습니까? 그렇지 않다면 모듈 경계를 치고 있습니까? 루아를 사용하고있는 환경은 무엇입니까? –
for-loop 구문을 살펴볼 수 있습니다. 호출 가능, 컨텍스트 및 시작 키의 세 가지 값이 필요합니다. 'pairs'는 같은 것을 반환합니다 ... – Deduplicator
같은 파일에서 초기화되었습니다. 그것은 사용자 정의 프레임 워크 내에 있지만 구조체를 정확하게 복사했습니다. 나는 그것을 for 3-loop로 바 꾸었고,'로컬 'storage (길이가없는 값)의 길이를 얻으려고 시도한다.' – James