티스토리 뷰
제목 그대로....
랭킹 데이터를 받아와서 그것을 split 하는 작업을 하고 있는데 발견한 문제입니다.
애초에 컴파일할 때 에러를 뱉어주는데, 육안으로는 절대 찾을 수가 없는 버그입니다. (이 사실을 알고 있지 않다면)
에러 메세지도 이상합니다.
in 근처에 문제가 있다고 합니다. 왜 이런 에러 메세지를 뿜어내는지도 잘 모르겠네요. 눈에 보이는 문법상으로는 문제가 없거든요.
아래는 문제의 코드 입니다.
for in pairs 내부에 for in pairs가 존재하고 있습니다.
해결 방법으로는 내부에서 for in pairs 부분을 밖으로 빼 주는 것입니다.
그리고 아래의 내용은 에러를 수정한 소스 입니다.
사실 함수를 쪼갠 것 밖에 없습니다.
왜 이렇게 만든 것인지는 모르겠으나.... 한 곳에 헷갈리기 쉬운 것을 겹쳐서 만들지 않도록 미연에 방지한 것이 아닌가 싶습니다.
랭킹 데이터를 받아와서 그것을 split 하는 작업을 하고 있는데 발견한 문제입니다.
애초에 컴파일할 때 에러를 뱉어주는데, 육안으로는 절대 찾을 수가 없는 버그입니다. (이 사실을 알고 있지 않다면)
에러 메세지도 이상합니다.
main.lua:60: '<name>' expected near 'in'
아래는 문제의 코드 입니다.
for in pairs 내부에 for in pairs가 존재하고 있습니다.
data = string.gsub(data, "<br>", "\n")
local t = string.split( data, "\n")
local count = 1
for i, v in pairs(t) do
if count > 10 then break end
count = count + 1
lineAnalysis( v )
print (v)
local str = string.split( v, " " )
print (str)
for j, strr, in pairs(str) do
print (strr)
end
end
해결 방법으로는 내부에서 for in pairs 부분을 밖으로 빼 주는 것입니다.
그리고 아래의 내용은 에러를 수정한 소스 입니다.
local function lineAnalysis( line )
local t = string.split( line, " " )
for i, v in pairs(t) do
print (v)
end
end
local function parseData( data )
data = string.gsub(data, "<br>", "\n")
local t = string.split( data, "\n")
local count = 1
for i, v in pairs(t) do
if count > 10 then break end
count = count + 1
lineAnalysis( v )
end
end
왜 이렇게 만든 것인지는 모르겠으나.... 한 곳에 헷갈리기 쉬운 것을 겹쳐서 만들지 않도록 미연에 방지한 것이 아닌가 싶습니다.
'프로그래밍 > 잡탕' 카테고리의 다른 글
ImageCollector 1.0 (0) | 2012.02.22 |
---|---|
[Corona] Draggable Sprite - 드래그가 가능한 이미지 (0) | 2012.02.03 |
Runtime Event Listener 관련 문제사항 (0) | 2012.02.01 |
Corona SDK API 레퍼런스 번역 페이지 (0) | 2012.01.29 |
[실전 예제]공격 이펙트 스프라이트 애니메이션 (0) | 2012.01.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday