U E D R S I H C RSS
ID
Password
Join
다른 사람을 가르치듯 자기 자신이 행할 수 있다면 그는 진정으로 다른사람을 가르칠수 있다. 가장 가르치기 어려운 것은 다른 사람이 아니라 바로 자기자신이다. - 법구경

 * lua에서 한글 변수 등을 가능하게 하려면 쏘스코드의 어디를 건드려줘야 되나요? --파연
  • 글쎄요... 전 개인적으로 변수가 한글화 되면 더 헛갈릴 것 같던데... :) 한번 실험해보겠습니다. -- redpixel
  • GpGiki:LuaHangulPatch 5.0alpha도 패치를 했었는데 beta 한번 보고 추가해야 겠군요 -- BL
  • 감사합니다. Lua 4.0.1 에서 한글패치 성공했습니다 --파연
  • c에서 lua를 (그리고 lua에서 c를) 호출하려고 하는데, 너무 막막합니다. reference manual 읽어봐도 뭐가 뭔지 모르겠고요-_- 혹시 설명이 잘 되어있는 문서나, 예제 파일을 어디서 찾아야하는지 알고 계시면 답변 바랍니다. --파연
    • c에서 lua를 호출하는 방법에 대한 것은 [http]여기를 참조하세요. 제 개인적인 소견으로는 [http]레퍼런스 메뉴얼외에는 자료가 없습니다. 구체적인 질문은 저에게 이멜주시면 실력이 닿는데까지 답변드릴께요. :)
    • 이멜도 좋지만, 장래에 혹시 다른 분들을 위해 페이지를 만들께요..^^ -> C에서 Lua호출하기
  • lua에서 namespace 구분은 어떻게 하나요?.. file1.lua file2.lua가 있고, 두 파일에 같은 이름의 함수가 있을 경우에 c에서 각각의 파일에 있는 함수를 호출하려니 잘 안되는군요. (처음 연 파일의 함수가 실행되네요.) --지원
    • lua에서는 테이블로 모든 처리를 다할 수 있습니다. 테이블을 그냥 하나 만드시고, 거기에 함수를 선언해 넣으세요. 그다음 테이블을 namespace처럼 사용하시면 됩니다. C++과 같은 심도있는(?) 객체지향까지는 바라지 않으시는 것이 좋습니다. -- redpixel
      • 음.. 죄송한데, 예를 좀 들어 주시면 안될까요? :) --지원
        • 예제라... 위 질문을 토대로 제맘대로 만들어보도록 하겠습니다. 우선 file1.lua입니다.
          global1 = {}
          global1.testfunc = function(self, testvalue)
            print("global1 : ", testvalue)
          end
          
          두번째도 거의 동일합니다. file2.lua입니다.
          global2 = {}
          global2.testfunc = function(self, testvalue)
            print("global2 : ", testvalue)
          end
          
          자, 이제 묶어보도록 하죠.
          require("file1")
          require("file2")
          global1:testfunc("redpixel")
          global2:testfunc("바보")
          
          이렇게 하면 다음과 같이 출력됩니다.
          global1 :       redpixel
          global2 :       바보
          
          별거 아닙니다. 이해되셨는지요? :) -- redpixel
        • 아.. 알겠습니다.. 감사합니다. 그런데 저 두 파일을 읽는 곳에서 namespace를 지정할 수는 없나요? -- 질문만 계속하는, 지원
          • 됩니다만... 좀 정식적인 방법이 아닌 느낌이 들게 됩니다. 즉,
            global1 = {}
            global2 = {}
            require("file1")
            require("file2")
            global1:testfunc("redpixel")
            global2:testfunc("바보")
            
            이렇게 쓰는 것이 가능합니다. (file1.lua, file2.lua에서는 global1 = {} 부분 빼버려도 되는거 아시겠죠? :) ) 그리고, namespace와 같은 객체지향개념들은 lua에서는 그냥 생각지 않는게 좋을듯 하네요. table이라는 개념이 강력하긴하지만, 남용하면 성능을 떨어뜨리는 요인이 되니까요. 만일 5.0beta를 사용하신다면, REGISTRY와 전역 테이블을 고려하시는 것도 좋을 것 입니다. 제 경험에는 루아로 라이브러리적인 부분을 작성하기 보다는, 알고리즘의 흐름정도만을 기술하는 수준이 가장 맞는 사용법이라고 생각됩니다. (즉, 엔진적인 부분은 모두 C/C++ 수준에서 작성하는 거죠) -- REDPIXEL

  • 저 프로그래밍의 완전 초보라서 그러는데... function이 호출 가능한 method 목록 좀 알고싶습니다. 요새 개인적으로 wow 애드온 소스 분석해서 하나 만들려고 하는데 lua 함수가 호출하는 method에 대한 정보가 거의 없더군요... -- rot 2005-04-14

    루아에서는 별도의 메소드가 지정되어있는게 아니고 모두 C레벨에서 작성하셔서 넣어주셔야합니다. WOW같은 경우는 루아의 인터프리터만 빌려쓰는 식이므로 WOW에서 제공한 함수 레퍼런스를 보셔야 할듯. -- redpixel 2005-04-14

    Valid XHTML 1.0! Valid CSS! powered by MoniWiki
    last modified 2010-10-28 12:42:52
    Processing time 0.4283 sec