第24回 ~モジュールスクリプト~

モジュールスクリプトは、外部のプログラムから呼ぶことができる関数群です。機能ごとにモジュールに分けて制作することでプログラム全体の見通しが良くなります。頭の片隅にしまっておく程度で構いませんので、モジュールスクリプトとはどのようなものなのかを理解しておきましょう。

登場する英単語

英単語読み方解説
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回 ~モジュールスクリプト~”
  1. 動画で学ぶプログラミングで勉強しているものです!
    第24回に関して質問があります。
    モジュールスクリプトの33行目に
    return nil
    とありますが、これは31行目が実行されなかった場合にnilを返すという解釈であっていますでしょうか?

    また、31行目でreturnがあった場合は33行目は実行されないのでしょうか?

コメントを残す