개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.15 00:15

Lua::include에 대한 질문

목록
  • TypeScript도령 2일 전 2025.06.15 00:15
  • 23
    1
안녕하세요 선생님, Lua 프로그래밍을 공부하고 있습니다.
Lua::include를 사용하여 다른 Lua 파일을 포함할 수 있는지 궁금합니다.
하지만 Lua::include를 사용하여 다른 파일을 포함할 때,
include된 파일에서 선언한 변수는 포함된 파일 내에서만 사용할 수 있는 것인지,
모든 Lua 파일에서 사용할 수 있는지 궁금합니다.

아래 예제를 보시면 Lua::include를 사용하여 다른 파일을 포함하는 방법을 알 수 있습니다.

lua

-- main.lua

print("main.lua")

include("sub.lua")



lua

-- sub.lua

print("sub.lua")



위의 예제에서 main.lua 파일에서 sub.lua를 포함하고 있습니다.
이러한 경우 sub.lua에서 선언한 변수는 main.lua에서 사용할 수 있는지 궁금합니다.

해결 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  2일 전



    Lua::include를 사용하여 다른 Lua 파일을 포함할 수 있습니다.

    include된 파일에서 선언한 변수는 포함된 파일 내에서만 사용할 수 있습니다.

    이유는 Lua는 모듈을 로드할 때, 로드된 모듈의 변수를 전역 변수로 등록하지 않기 때문입니다.

    따라서, main.lua에서 sub.lua를 포함하여 sub.lua에서 선언한 변수를 사용하고 싶다면, sub.lua에서 변수를 전역 변수로 등록해야 합니다.

    예를 들어, sub.lua에서 다음과 같이 변수를 전역 변수로 등록할 수 있습니다.

    
    
    -- sub.lua
    
    MY_VAR = "전역 변수"
    
    


    이 경우, main.lua에서 sub.lua를 포함하여 MY_VAR를 사용할 수 있습니다.

    
    
    -- main.lua
    
    include("sub.lua")
    
    print(MY_VAR)  -- "전역 변수"를 출력합니다.
    
    


    또한, Lua 5.1 이상에서 Lua의 require 함수를 사용하여 모듈을 로드할 때, 로드된 모듈의 변수를 전역 변수로 등록할 수 있습니다.

    예를 들어, sub.lua에서 다음과 같이 변수를 전역 변수로 등록할 수 있습니다.

    
    
    -- sub.lua
    
    MY_VAR = "전역 변수"
    
    return MY_VAR
    
    


    이 경우, main.lua에서 require 함수를 사용하여 sub.lua를 로드하여 MY_VAR를 사용할 수 있습니다.

    
    
    -- main.lua
    
    MY_VAR = require("sub")
    
    print(MY_VAR)  -- "전역 변수"를 출력합니다.
    
    

    2025-06-15 00:16

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 28,525건 / 16 페이지

검색

게시물 검색