多個參數和引數

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

函數實際上可以擁有多個參數,允許將多個引數(資訊片段)傳遞到函數中。一個例子可能是將玩家分配到一個隊伍。在這裡,你需要一個參數來傳遞玩家,和一個參數來傳遞要將他們分配到哪個隊伍。

要設置多個參數,請用逗號分隔參數名稱。


local function assignTeam(playerName, whichTeam)
end

練習多個參數

為了練習使用多個參數,創建一個將物體分為垃圾或回收的函數。

  • 個參數將是垃圾,這將被摧毀。
  • 個參數將是回收物,這將變得閃亮如新。

設置函數

首先設置具有多個參數的函數,然後測試你的工作。

  1. ServerScriptService 中創建一個新腳本。
  2. 編碼一個名為 sortGarbage() 的新函數,包含兩個參數 trashrecyclable
  3. 在腳本底部調用該函數。
  4. 使用函數內的打印語句快速檢查代碼。

local function sortGarbage(trash, recyclable)
print("garbage test")
end
sortGarbage()

使用多個參數

在函數內部,參數可以類似於變量使用。在這個例子中,trash 將被摧毀,然後 recyclable 將通過粒子發射器被賦予光彩。

  1. 刪除打印語句,並使用 Instance.new() 創建一個新的粒子發射器,如下所示。這將用於賦予可回收物光彩。


    local function sortGarbage(trash,recyclable)
    -- 創建一個新的粒子發射器
    local sparkle = Instance.new("ParticleEmitter")
    end
    sortGarbage()
  2. 像處理任何其他變量一樣,摧毀通過垃圾參數傳遞進來的任何東西。


    local function sortGarbage(trash,recyclable)
    local sparkle = Instance.new("ParticleEmitter")
    -- 摧毀垃圾
    trash:Destroy()
    end
    sortGarbage()
  3. 將粒子發射器的父物件設為可回收物。


    local function sortGarbage(trash,recyclable)
    local sparkle = Instance.new("ParticleEmitter")
    -- 摧毀垃圾並讓可回收物變得閃亮
    trash:Destroy()
    sparkle.Parent = recyclable
    end
    sortGarbage()

通過參數傳遞值

是時候把垃圾拿出去!設置好參數後,函數可以準備接收資訊。

  1. 使用基本的零件創建兩個物體來代表你可能會丟掉的東西。一個應該是垃圾,另一個應該是可回收的。確保它們有唯一的名稱。

  2. 在腳本的頂部,為你創建的物件添加變數。這些將是你的引數。


    local Workspace = game:GetService("Workspace")
    local cementBlock = Workspace.Cement
    local glassBottle = Workspace.GlassBottle
  3. 在腳本底部,當調用 sortGarbage() 時,傳入每個引數。


    local Workspace = game:GetService("Workspace")
    -- 用作引數的物件
    local cementBlock = Workspace.CementBlock
    local glassBottle = Workspace.GlassBottle
    --摧毀垃圾並清理可回收物
    local function sortGarbage(trash,recyclable)
    local sparkle = Instance.new("ParticleEmitter")
    trash:Destroy()
    sparkle.Parent = recyclable
    end
    -- 傳入引數
    sortGarbage(cementBlock, glassBottle)
  4. 測試你的代碼。第一次傳入的對象將被摧毀。第二個對象將閃閃發光。

參數的順序

通常,引數根據傳入的順序與參數匹配。例如,第一個引數用於第一個參數,第二個引數用於第二個參數。

在我們的例子中,有兩個參數。無論什麼首先傳入,將始終是垃圾,而第二個將始終是可回收物。


--摧毀垃圾並清理可回收物
local function sortGarbage(trash,recyclable)
local sparkle = Instance.new("ParticleEmitter")
trash:Destroy()
sparkle.Parent = recyclable
end
-- 按順序進行。水泥被摧毀,玻璃瓶被回收
sortGarbage(cementBlock, glassBottle)
-- 玻璃瓶被摧毀,水泥區塊被回收
sortGarbage(glassBottle, cementBlock)

如果你只傳入一個引數,那麼該引數將被視為垃圾。如果你傳入三個引數,第三個引數將不會被處理,因為沒有第三個參數。

總結

參數是通過它們可以將值傳遞到函數中的佔位符。引數是通過佔位符傳遞的值。你可以通過用逗號分隔名稱來創建多個參數。在調用函數時,傳入接收函數的值的順序決定了使用哪個參數。

©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。