ModuleScript

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

A ModuleScript 는 호출로 require() 에 정확히 하나의 값을 반환하는 스크립트 유형입니다.루오 환경당 한 번만 실행하고 나중에 에 대한 후속 호출에 정확히 같은 값을 반환합니다.

ModuleScripts는 "자신을 반복하지 마십시오"(DRY) 원칙을 준수하기 위한 필수 개체로, 한 번만 함수를 작성하고 모든 곳에서 사용할 수 있습니다.함수의 여러 복사본을 가지고 있으면 동작을 변경해야 할 때 문제가 될 수 있으므로 함수 또는 함수 그룹을 에 정의하고 해당 모듈에서 및 호출을 수행해야 합니다.

ModuleScripts 에서 반환되는 값은 ScriptsLocalScripts와 독립적이며, 명령 모음과 같은 다른 환경과도 독립적입니다.클라이언트에서 를 사용하여 에서 코드를 실행하면 서버에서 이미 를 수행했더라도 클라이언트에서 코드가 실행됩니다.따라서 클라이언트와 서버에서 동시에 ModuleScript를 사용하거나 Studio에서 디버깅하는 경우 주의하십시오.

에 대한 첫 번째 호출은 에서 생성되지 않으면 (중지) 되지 않으며, 이 경우 현재 스레드가 에서 호출하여 을 생성할 때까지 생성됩니다. 가 다른 을 시도하고 있는 경우, 스레드는 중단되지 않고 결코 중지되지 않습니다(순환 호출은 오류를 생성하지 않음).대형 프로젝트에서 모듈 종속성을 주의하십시오!

Roblox에 ModuleScript 가 업로드되고 루트 모듈의 이름이 MainModule 로 설정되면 모델로 업로드되어 모델의 자산 ID로 require() 사용해야 합니다.그런 다음 이 논리는 서버에서만 작동하고 클라이언트에서 오류가 발생하지만 경험에 로드할 수 있습니다.다른 사용자가 모듈을 사용하려면 공개여야 합니다.

코드 샘플

코드 샘플은 빈 테이블을 보유하는 로컬 변수를 만들어 시작합니다.그런 다음 테이블을 두 개의 자리 표시 함수로 채우고 마지막으로 테이블을 반환합니다.ModuleScript에서 이 코드를 사용하면 my_functions 테이블(따라서 해당 내부의 모든 함수, 테이블 또는 다른 모듈 스크립트)이 모든 스크립트, 로컬 스크립트 또는 다른 모듈 스크립트에 사용 가능하게 됩니다.

간단한 모듈 스크립트 예시

-- 테이블은 하나의 변수에 여러 값을 저장합니다
local MyFunctions = {}
-- 테이블에 몇 가지 함수 추가
function MyFunctions.foo()
print("Foo!")
end
function MyFunctions.bar()
print("Bar!")
end
-- ModuleScripts는 정확히 하나의 값을 반환해야 합니다
return MyFunctions

This code sample shows how to use the require function on a ModuleScript, then use the value that it returned. See the "Simple ModuleScript Example" for the code to go with this sample.

Simple ModuleScript Usage

-- The require function is provided a ModuleScript, then runs
-- the code, waiting until it returns a singular value.
local MyFunctions = require(script.Parent.MyFunctions)
-- These are some dummy functions defined in another code sample
MyFunctions.foo()
MyFunctions.bar()

속성

Source

병렬 읽기
플러그인 보안
OpenCloud 보안

메서드

이벤트