닫기버튼


상단 배너 영역


실시간댓글

[일반] 프로그래밍에서 스택에 대한 질문 좀

nlv106_89530 길섹 | 2014-05-23 11:57

스택 자체는 매우 간단한 개념으로 알고 잇는데


이게 스크립트 쪽으로 들어와서 테이블 개념이랑 합쳐지니 좀 헷갈리기 시작함



일단 lua 이야기




일단 State에 push 된 function 을 가져왔음


그 function 에 파라미터를 담아서 던질려고 하는데


기본적인 파라미터는 push 해주면 나중에 lua_call할때 지가 알아서 던져줌 (물론 여기에는 파라미터 갯수를 지정해줌)



여기까진 쉬움 뭐 1계층에 fuction 2계층부터 파라미터겠지



근데 테이블로 넘어가게 되면 


lua_call 할때의 파라미터는 1개 임 (테이블 한개)


근데 push를 해주는 정보는 4개임

key,value 두개씩 해서 값은 2개 넣는값은 4개


그래서 push를 4번 해주게 되는데 이 상태에서 lua_call 을 때리면 lua 쪽에서 null 로 떠버림


아 씨발?



테이블을 세팅하는 함수같은건 다 써주는 중


그러면서 헷갈리기 시작하는게


테이블의 1값,2값들은 

스텍의 어떤 위치에 존재하게 되는걸까


스텍안에 스텍이 또 생기는걸까 아니면 뭐 다른 구현 방식일까



lua binding c 를 해본 사람 매우 급구함 ㅡㅡ


으 골 터진다

nlv119_89323 길섹
gold

1,296

point

1,829,040

프로필 숨기기

119

36%

 

최신순

게임조선 회원님들의 의견 (총 14개) ※ 새로고침은 5초에 한번씩 실행 됩니다.

새로고침

신고

nlv133_8941 tooxx 2014-05-23 11:59 0

그냥 자료구조쪽에서 헷갈려하는거 같은데
설계부터 다시 ㄲㄲ

신고

nlv106_89530 길섹 작성자 2014-05-23 11:59 0

설계라뇨
lua 스크립트 내부 소스인데;

사용법이 헷갈리는거임

신고

nlv106_89530 길섹 작성자 2014-05-23 12:00 0

존나 웃긴건 솔직히 말하면 내가 잘못 생각고 있다곤 생각안함
이전 구현방식에선 제대로 구현되었거든 ㅡ.,ㅡ

아 그냥 Corona 가 문제인가
왜 저걸 못 받지 ㅡㅡ

신고

nlv49 정장의까마귀 2014-05-23 12:12 0

스택은 선입후출 아니던가  

신고

nlv106_89530 길섹 작성자 2014-05-23 12:13 0

출은 언어에서 해주니깐

신고

nlv49 정장의까마귀 2014-05-23 12:14 0

키벨류 한쌍으로 넣는건아니고 따로 한개씩 넣는다는거야?

신고

nlv49 정장의까마귀 2014-05-23 12:15 0

한쌍으로 들어간다는가정이라믄 결국두개 는 널아닌가 라는 짧은생각.. ㅠㅠ

신고

nlv106_89530 길섹 작성자 2014-05-23 12:16 0

그게 좀 헷갈리는 부분 중 하나라고 생각하는데

키벨류를 한쌍으로 넣기위해선 한개씩 넣어야됨 (lua의 특성)
그러면 push해주는 값이 키벨류당 2번 (키한번 벨류한번)

그걸 다시 테이블로 묶어주기 때문에 결국 출력값은 1개

흠좀무

신고

nlv49 정장의까마귀 2014-05-23 12:18 0

lua에선  한쌍을 한개로 못넣는다는거지?

신고

nlv106_89530 길섹 작성자 2014-05-23 12:18 0

ㅇ.ㅇ

신고

nlv106_89530 길섹 작성자 2014-05-23 12:19 0

lua_settable = 스택에서 키와 값, 즉 2개의 값을 팝해서, 주어진 index 위치에 있는 테이블의 값으로 설정한다. 즉 lua_settable 함수를 호출하기 전에 두 개의 값을 푸쉬해둬야 한다.

신고

nlv127_58481 소이리 2014-05-23 12:26 0

흠 근데 본인의 코ㅡ를 너무 확신하면 안되 ㅋㅋㅋ

신고

nlv106_89530 길섹 작성자 2014-05-23 12:28 0

코드 확신을 안하니 질문했져 - _-....
뭐 이전 코드는 Corona에서 간편하게 만든 코드라서 좀 더 편하게 작성한 감이 없지않아있긴 함

신고

nlv106_89530 길섹 작성자 2014-05-23 12:34 0

후 해결함 ㅡㅡ

역시 헷갈릴땐 손으로 노트에 적으면서 하면 바로 풀리는군

0/500자

목록 글쓰기 위로 로그인


게임조선 소개및 약관