La entrada es la información añadida a un programa y utilizada por el código para realizar cambios.
Los ejemplos de funciones de la lección anterior no necesitaban ninguna entrada:
GetNumberOfMousetrapsYouCanAfford() : int
Lo sabes porque los paréntesis () de la firma de la función anterior están vacíos.
Parámetros
Puedes definir la entrada que necesita una función añadiendo un parámetro a la firma de la función.
Un parámetro es una constante que se declara en la firma de la función entre paréntesis. Cuando se establece un parámetro, puedes utilizarlo en el cuerpo de la función.
La sintaxis de una función que incluye un parámetro es la siguiente:
nombre(parámetro : tipo) : tipo =
codeblock
En el siguiente ejemplo, CoinsPerMousetrap es ahora un parámetro de la función BuyMousetrap():
var Coins : int = 500
BuyMousetrap(CoinsPerMousetrap : int) : void =
set Coins = Coins - CoinsPerMousetrap
Print("¡Ratonera comprada! Te quedan {Coins} monedas.")
Lo que dice este código es:
- Tienes una variable llamada
Coinscon un valor entero inicial de 500var Coins : int = 500. - La función llamada
BuyMousetrap()recibe el parámetroCoinsPerMousetrap. Sin embargo, no quieres que esta función devuelva un valor, por lo que el tipo esvoid.
Argumentos
Cuando llamas a una función que espera parámetros, tienes que asignar valores a los parámetros, del mismo modo que asignas valores a las constantes.
Estos valores asignados a las funciones se denominan argumentos de la función.
Para llamar a la función BuyMousetrap(), lo haces añadiendo un argumento dentro del paréntesis. Hay varias formas de hacerlo.
Por ejemplo:
-
Puedes usar
BuyMousetrap(CoinsPerMousetrap := 10), que imita la forma en que defines los parámetros de 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 puedes utilizar un valor literal del mismo tipo que el parámetro.
-
Una tercera forma es utilizar como argumento una variable o constante previamente declarada. Puedes llamar a la función a través de diferentes valores para el argumento y obtener resultados distintos.
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)
Varios parámetros
Puedes definir tantos parámetros para la función como quieras, siempre y cuando los separes con comas.
La sintaxis de una función con dos parámetros es la siguiente:
nombre(parámetro : tipo, parámetro : tipo) : tipo =
codeblock
Cuando llames a la función, tendrás que volver a separar los argumentos con comas, lo que imita la forma de definir los parámetros de la función.
Resumen
- Un parámetro es una constante que se declara en la firma de la función. Está entre paréntesis.
- Un argumento es el valor asignado a la constante utilizada en el parámetro de esa función.
- Tienes que separar varios parámetros en una misma función con comas.