Múltiples parámetros y argumentos

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Las funciones pueden tener realmente más de un parámetro, permitiendo que se pasen múltiples argumentos (piezas de información) a la función.Un ejemplo de juego podría asignar a un jugador a un equipo.Aquí necesitarías un parámetro para pasar al jugador, y un parámetro para pasar a qué equipo asignarlos.

Para configurar múltiples parámetros, separa los nombres de los parámetros con una coma.


local function assignTeam(playerName, whichTeam)
end

Practicar con múltiples parámetros

Para practicar el trabajo con múltiples parámetros, crea una función que clasifica los objetos en tu juego en basura o reciclaje.

  • El parámetro primero será basura, que se destruirá.
  • El parámetro segundo será para el reciclaje, que se hará brillante y nuevo de nuevo.

Configurar la función

Primero configura la función con múltiples parámetros y luego prueba tu trabajo.

  1. Crea un nuevo script en ServerScriptService .
  2. Codifica una nueva función llamada sortGarbage() con dos parámetros, trash y recyclable.
  3. Al final del script, llama a la función.
  4. Compruebe rápidamente el código hasta ahora usando una declaración de impresión dentro de la función.

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

Usa múltiples parámetros

Dentro de la función, los parámetros se pueden usar de manera similar a las variables.En este ejemplo, trash se destruye y luego se le da brillo a recyclable usando un Emisor de Partículas.

  1. Elimina la declaración de impresión y usa Instance.new() para crear un nuevo emisor de partículas como se muestra. Esto se usará para darles a los reciclables su brillo.


    local function sortGarbage(trash,recyclable)
    -- Crear un nuevo emisor de partículas
    local sparkle = Instance.new("ParticleEmitter")
    end
    sortGarbage()
  2. Destruye lo que se pase a través del parámetro de basura del mismo modo que si la basura fuera cualquier otra variable.


    local function sortGarbage(trash,recyclable)
    local sparkle = Instance.new("ParticleEmitter")
    -- Destruir la basura
    trash:Destroy()
    end
    sortGarbage()
  3. Padre el emisor de partículas al reciclable.


    local function sortGarbage(trash,recyclable)
    local sparkle = Instance.new("ParticleEmitter")
    -- Destruir la basura y hacer los reciclables brillantes
    trash:Destroy()
    sparkle.Parent = recyclable
    end
    sortGarbage()

Pasar valores a través de parámetros

¡Es hora de sacar la basura! Con los parámetros configurados, las funciones están listas para recibir información.

  1. Crea dos objetos usando partes básicas para representar cosas que puedes tirar.Uno debe ser basura y uno reciclable.Asegúrate de que tengan nombres únicos.

  2. En la parte superior del script, agregue variables para los objetos que creó. Estas serán sus argumentos.


    local Workspace = game:GetService("Workspace")
    local cementBlock = Workspace.Cement
    local glassBottle = Workspace.GlassBottle
  3. Al final del script, donde se llama sortGarbage(), pasa por cada argumento.


    local Workspace = game:GetService("Workspace")
    -- Objetos para usar como argumentos
    local cementBlock = Workspace.CementBlock
    local glassBottle = Workspace.GlassBottle
    --Destruye la basura y limpia los reciclables
    local function sortGarbage(trash,recyclable)
    local sparkle = Instance.new("ParticleEmitter")
    trash:Destroy()
    sparkle.Parent = recyclable
    end
    -- Pasar los argumentos
    sortGarbage(cementBlock, glassBottle)
  4. Prueba tu código. El objeto pasado en primer lugar se destruirá. El segundo objeto brillará.

Orden de parámetros

Típicamente, los argumentos se combinan con los parámetros según el orden en que se pasan.Por instancia, el primer argumento se usa para el primer parámetro.El segundo argumento se usa para el segundo.

En nuestro ejemplo, hay dos parámetros. Lo que se pase en primer lugar siempre será basura, y el segundo siempre será reciclable.


--Destruye la basura y limpia los reciclables
local function sortGarbage(trash,recyclable)
local sparkle = Instance.new("ParticleEmitter")
trash:Destroy()
sparkle.Parent = recyclable
end
--Va en orden. Se destruye el cemento y se recicla la botella de vidrio
sortGarbage(cementBlock, glassBottle)
--La botella de vidrio se destruye y el bloque de cemento se recicla
sortGarbage(glassBottle, cementBlock)

Si solo pasas un argumento, ese argumento se trataría como basura.Si pasases tres argumentos, nada sucedería al tercer argumento porque no hay tercer parámetro.

Resumen

Los parámetros son marcadores a través de los cuales se pueden pasar valores a las funciones.Los argumentos son los valores que se pasan a través del marcador de posición.Puedes crear múltiples parámetros al separar sus nombres con comas.Cuando se llaman funciones, el orden en que se pasan los valores a la función receptora determina el parámetro al que se usan.