# Luau入門8：ModuleScriptとrequire（スクリプトを部品に分ける）

> 何度も使う関数やデータは、ModuleScriptにまとめておき、ほかのスクリプトから require() で読み込んで使います。

- URL：https://roblox.minecraft-okinawa.com/luau/modules/
- 更新日：2026-11-13

## ModuleScriptを作る

ReplicatedStorageの中にModuleScriptを作り、名前を「MathUtils」にして、次のように書きます。

```lua
local MathUtils = {}

function MathUtils.double(n: number): number
	return n * 2
end

return MathUtils
```


最後に「return テーブル」で、外から使えるものを返すのがルールです。

## ModuleScriptを使う

```lua
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MathUtils = require(ReplicatedStorage:WaitForChild("MathUtils"))

print(MathUtils.double(21))
```


## どこに置く？

- サーバーとクライアントの両方で使う：ReplicatedStorage
- サーバーだけで使う：ServerScriptService または ServerStorage

## 出典

- [Luau 公式サイト](https://luau.org/)
- [Roblox Creator Documentation](https://create.roblox.com/docs)

執筆：鈴木孝昌（現役プロジェクトマネージャー／プログラミング講師）／運営：沖縄マイクラ部 プログラミングスクール「クロスウェーブ」（https://minecraft-okinawa.com/）