Ejercicio: Funciones
En este ejercicio, hace el código reutilizable. Se trata de código escrito por otro programador del equipo, pero nuestra labor es convertirlo en funciones.
Creación de funciones
Empiece creando un scaffolding para un nuevo proyecto de F# y, luego, tome un fragmento de código y conviértalo en una función con parámetros.
Cree un proyecto de F# ejecutando
dotnet new.dotnet new console --language F# -o Functions cd FunctionsAhora que tiene un nuevo proyecto, echemos un vistazo al código.
Este es el código de nuestro compañero.
let no = card % 13 if no = 1 then "Ace" elif no = 0 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noReemplace el código predeterminado del archivo Program.cs por el código siguiente:
let cardFace card = let no = card % 13 if no = 1 then "Ace" elif no = 0 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noLa primera línea de este código
let cardFace cardlo convierte en una función. Ahora es una función denominadacardface()que toma el parámetrocard.Agregue el código siguiente bajo la función
cardface().printfn "%s" (cardFace 11)Ejecute el proyecto llamando a
dotnet runen la consola.dotnet runAhora, aparece la siguiente salida:
Jack
Enhorabuena. Hemos tomado un fragmento de código que queríamos que fuera reutilizable y lo hemos convertido en una función.
Adición de tipos
Ha convertido el código de su compañero en una función. Para que este código sea más legible, decidimos agregarle definiciones de tipos.
Modifique la función existente
cardface()para que se parezca a esta:let cardFace (card:int) = let no = card % 13 if no = 1 then "Ace" elif no = 0 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noAhora, ejecute el proyecto
dotnet run.dotnet runAhora, aparece la siguiente salida:
JackEl código sigue funcionando, solamente hemos hecho que sea más claro agregando un tipo al parámetro de entrada.
Una vez que la función
cardface()tenga este aspecto:let cardFace (card:int) :string = let no = card % 13 if no = 14 || no = 1 then "Ace" elif no = 13 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noLlegado este punto, hemos agregado un tipo de valor devuelto a la función
:string, lo que significa que la función devuelve una cadena.Ejecute el proyecto
dotnet run.dotnet runUna vez más, debería ver la salida siguiente:
Jack
Enhorabuena. Ahora, el código tiene tipos agregados.