モジュールスクリプトは、外部のプログラムから呼ぶことができる関数群です。機能ごとにモジュールに分けて制作することでプログラム全体の見通しが良くなります。頭の片隅にしまっておく程度で構いませんので、モジュールスクリプトとはどのようなものなのかを理解しておきましょう。
登場する英単語
英単語 | 読み方 | 解説 |
---|---|---|
ServerStorage | サーバーストレージ | サーバープログラムからしかアクセスできない |
ModuleScript | モジュールスクリプト | 外から呼べる汎用関数 |
pairs | ペアーズ | forでテーブルを扱う場合に使用できる |
require | リクワイア | モジュールスクリプトを呼びたいときに使用 |
チェックポイント
- スクリプト内に記述した関数はその中でしか利用できない
- モジュールスクリプトを使うと、外部のプログラムから呼べる関数が作れる
- 「ServerStorage」は、「ReplicatedStorage」と似た使い方ができる
- 「ServerStorage」はサーバープログラムからしかアクセスできない
- モジュールは「local モジュール名 = { }」という行から始まる
- 「return モジュール名」で終わる
- テーブル内にプログラムなどを記述し、そのテーブルを返すというイメージ
- モジュールスクリプト内で、外部から呼び出せる関数は「local」とせず、「function」で始まる
- モジュールスクリプト名、ドット(もしくはコロン)、関数名と記述する
- 一般的に値を返す関数にはドットを、返さない関数はコロンを付けるようだが、呼ぶ側と呼ばれる側が一致していれば動作に影響はない
- キーを持つテーブルの初期化は「キー名=値,」の羅列で記述する
local stats = {
Name = "Points",
Type = "IntValue",
Value = 0,
}
- 「stats.Name = “Points”」または「stats[“Name”]=Points」などと記述するのと同じ
- テーブルの中に、さらにテーブルを作ることもできる
local stats = {
{
Name = "Points",
Type = "IntValue",
Value = 0,
},
{
Name = "Total",
Type = "IntValue",
Value = 0,
},
}
- 「stats[1].Name = “Points”」「 stats[2].Name = “Total”」などと記述するのと同じ
- 「ipairs」以外に、「pairs」というものがある
- 「pairs」はキーが付いたテーブルを扱う際に使用する
local function new(board)
for i, stat in pairs(stats) do
local leaderstat = Instance.new(stat.Type)
leaderstat.Name = stat.Name
leaderstat.Value = stat.DefaultValue
leaderstat.Parent = board
end
end
- モジュールスクリプトを呼びたいときは「require」というものを使用する
- パラメーターはモジュールスクリプトの場所
local leaderboardManager = require(ServerStorage.LeaderboardManager)
- 呼ぶ方は 「require」の戻り値を使い、その後ろに、 コロン(もしくはドット)、関数名と記述する
- ドットまたはコロンは呼ばれる方と呼ぶ方を一致させなくてはならない
leaderboardManager:create(player)
2 thoughts on “第24回 ~モジュールスクリプト~”
コメントを残す コメントをキャンセル
コメントを投稿するにはログインしてください。
動画で学ぶプログラミングで勉強しているものです!
第24回に関して質問があります。
モジュールスクリプトの33行目に
return nil
とありますが、これは31行目が実行されなかった場合にnilを返すという解釈であっていますでしょうか?
また、31行目でreturnがあった場合は33行目は実行されないのでしょうか?
はい。その通りです。
return が実行されますと、この関数から抜け出ますので33行目は実行されません。