내 array2d에 몇 가지 문제가 있습니다. 사실 계획을 새로 고침하고 싶습니다. data.txt로에lua 새로 고침/replace array2d
내 데이터는
test1:30:1
test2:40:2
그래서 난 함수는 ReadData를 호출 할 때마다. 내 Array2d에 다음과 같은 내용을 보냅니다.
line_data = {{"test1", "30", "1"},
{"test2", "40", "2"}}
하지만 문제는 모든 기능을 호출하는 것입니다. 그것은 항상 동일한 데이터를 추가 할 것입니다, 나는 그냥 새로 고침을하거나 어쩌면 바꿀 것입니다, 내가 어떤 이벤트를 할 때. 내 코드
line_data = {}
function ReadData()
local file = io.open("data.txt", "r")
for line in file:lines() do
line_data[#line_data+1] = { line:match('([^:]+):(%d+):(%d+)') }
end
end
어쩌면 너희들은이 상황에 나를 도울 수 있습니까?
이것은 일반적으로 대답 할 수 없습니다. 어떻게 데이터를 가져 옵니까? 라인이 새로운 것인지 어떻게 알 수 있습니까? 두 가지 간단한 경우에 대해 자발적으로 생각할 수 있습니다. 새 줄을 단순히 파일에 추가하거나 줄 ("header")을 test1, test2, testN으로 구분할 수 있습니다. 이 경우인가요? – pschulz
oops my bad,이'line_data = {}'. 실제로 처음에는 null이 있습니다. 난 그냥 호출 함수를 호출 할 때마다 값을 포함하는 저장된 배열에 대한 배열을 선언합니다 – Han
이 줄에'line_data [# line_data + 1] = {line : match ('([^ :] +) d +) : (% d +) ')}. 그것은 이미 행 : 구분에 의해 분리 된 값을 포함하는 배열을 만들 것입니다. – Han