2014-10-13 1 views
0

나는 테이블은 다음과 같이 정의했다 : 나는이 증가하거나 값을 얻기 위해 다음과 같은 노력했다테이블에서 변수를 증가시키고 액세스하는 방법은 무엇입니까?

local counter = {  
deleted = 0,  
moved = 0,  
sumOfFileSize = 0,  
}  

,하지만 작동하지 않습니다

증가 : counter.deleted = counter.deleted + 1

GET : counter.deleted

어떻게이 값을 성공적으로 수정하거나 읽을 수 있습니까?

+3

그 코드가 잘 작동하기 때문에

문제는 다른 곳에서이다. [here] (https://eval.in/205361)을 참조하십시오. 아마도 당신은 통역사 (REPL)에서 그것을 시도하고 있습니까? 그것은 선 사이의 지역 주민을 보존하지 않습니다. 테이블에서'local'을 버리면 제대로 작동합니다. –

+2

코드의 증상이 정확히 작동하지 않습니까? – lisu

+0

예 : counter.deleted는 항상 0입니다. – cy221

답변

0

것은 개봉 된 로컬 whitout 선언 할 필요가 일부 기능에서 사용하고 meaby 당신은 당신이 원하는 모든 기능에 액세스 할 수

counter={deleted = 0, 
moved = 0, 
sumOfFileSize = 0} 

사용하여 파일의 상단에 선언 할 수 있습니다. 나는 그것의 결과 콘솔에서 여기에 이것을 시도, 그래서 문제의 밤은의 루아

counter = { 
deleted = 0, 
moved = 0, 
sumOfFileSize = 0, 
} 
print(counter) 
table: 0x7fb1e2e005d0 
counter.deleted = counter.deleted + 1 

print(counter.deleted) 
1 
counter.deleted = counter.deleted + 1 
print(counter.deleted) 
2 
counter.deleted = counter.deleted + 1 
print(counter.deleted) 
3 
관련 문제