Entrada es la información que se agrega a un programa y que el código utiliza para realizar cambios.
Los ejemplos de funciones proporcionados en la lección anterior no necesitaban entrada:
GetNumberOfMousetrapsYouCanAfford() : int
Ya conoces esto porque los paréntesis ()
en la firma de función de arriba están vacíos.
Parámetros
Puedes definir la entrada que necesita una función si agregas un parámetro a la firma de función.
Un parámetro es una constante que se declara en la firma de función entre paréntesis. Cuando se establece un parámetro, puedes usarlo en el cuerpo de la función.
La sintaxis de una función que incluye un parámetro es la siguiente:
name(parameter : type) : type =
codeblock
En el siguiente ejemplo, CoinsPerMousetrap
ahora es un parámetro para la función BuyMousetrap()
:
var Coins : int = 500
BuyMousetrap(CoinsPerMousetrap : int) : void =
set Coins = Coins - CoinsPerMousetrap
Print("¡Compraste la ratonera! Te quedan {Coins} monedas.")
Lo que el código está diciendo es lo siguiente:
- Tienes una variable denominada
Coins
con un valor entero inicial de 500:var Coins : int = 500
. - La función denominada
BuyMousetrap()
toma un parámetro deCoinsPerMousetrap
. Sin embargo, no es bueno que esta función devuelva un valor, así que el tipo esvoid
.
Argumentos
Cuando llamas a una función que espera parámetros, debes asignar valores a los parámetros, de la misma manera que asignas valores a las constantes.
Estos valores asignados para las funciones se denominan argumentos a la función.
Para llamar a la función BuyMousetrap()
, puedes agregar un argumento dentro de los paréntesis. Hay algunas maneras de hacer esto.
Por ejemplo:
-
Puedes usar
BuyMousetrap(CoinsPerMousetrap := 10)
, que imita la forma en que defines los parámetros para la función. El 10 es un argumento de la función y cambia el valor del resultado. -
¿Recuerdas los literales de la Lección 2 y la Lección 3? También podrías usar un valor literal del mismo tipo que el parámetro.
-
Un tercera opción es usar una variable o constante declaradas anteriormente como tu argumento. Puedes llamar a la función utilizando diferentes valores en el argumento y obtener diferentes resultados.
var Coins : int = 500
# Después de esta llamada, Coins es 490
BuyMousetrap(CoinsPerMousetrap := 10)
# Después de esta llamada, Coins es 485
BuyMousetrap(5)
CoinsPerMouseTrap : int = 20
# Después de esta llamada, Coins es 465
BuyMousetrap(CoinsPerMousetrap)

Parámetros múltiples
Puedes definir tantos parámetros para la función como quieras, pero siempre debes separarlos con comas.
La sintaxis de una función con dos parámetros es la siguiente:
name(parameter : type, parameter : type) : type =
codeblock
Cuando llamas a la función, debes volver a separar los argumentos con comas, de modo que imites la manera cómo defines los parámetros a la función.
Resumen
- Un parámetro es una constante que se declara en la firma de función. Está dentro de los paréntesis.
- Un argumento es el valor asignado a la constante usada en el parámetro para esa función.
- Debes separar múltiples parámetros en una sola función mediante comas.