idkay0
unread,Mar 8, 2008, 10:33:30 AM3/8/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to squirrelusers-kr
이 문제가 버그인지 아니면 원래 의도된 기능인지 관련 내용을 찾기 어렵네요... (영어라서 ^^;;;;)
버그가 있어서 원인을 찾기 위해 잘못 없는 엔진이만 다그치고 있었는데..., 원인이 다람쥐 때문이었습니다. 문제(?)가 되는
부분은 아래와 같습니다.
class test {
function SetVal(num,name) {
mBase.id = num;
mBase.name = name;
mBaseNumber = num;
}
mBase = { id = 0 , name = ""};
mBaseNumber = 0;
}
temp <- [];
temp.resize(2);
temp[0] = test();
temp[0].SetVal(10,"First");
temp[1] = test();
temp[1].SetVal(20,"Second");
print(temp[0].mBase.id + "," + temp[0].mBase.name + "," +
temp[0].mBaseNumber + "\n");
print(temp[1].mBase.id + "," + temp[1].mBase.name + "," +
temp[1].mBaseNumber + "\n");
출력 결과
20,Second,10
20,Second,20
위에서 맴버변수 설정에 사용한 table의 경우는 static 키워드를 사용한 것 같은 효과가 생깁니다. (혹시 이 부분에 대
한 설명이나 내용을 잘 알고 계신 분은 자료 공유 부탁합니다.)
이 문제는 클래스 생성자에 코드 한 줄 추가하는 것으로 해결했습니다.
class test {
constructor()
{
mBase = { id = 0 , name = ""};
}
function SetVal(num,name) {
mBase.id = num;
mBase.name = name;
mBaseNumber = num;
}
mBase = null;
mBaseNumber = 0;
}