Introducción a F# en Visual StudioGet started with F# in Visual Studio

F#y las herramientas F# visuales se admiten en el IDE de Visual Studio.F# and the Visual F# tooling are supported in the Visual Studio IDE.

Para empezar, asegúrese de que tiene Visual Studio instalado con F# .To begin, ensure that you have Visual Studio installed with F#.

Creación de una aplicación de consolaCreating a console application

Uno de los proyectos más básicos de Visual Studio es la aplicación de consola.One of the most basic projects in Visual Studio is the Console Application. A continuación le mostramos cómo hacerlo.Here's how to do it. Una vez que Visual Studio está abierto:Once Visual Studio is open:

  1. En el menú archivo , elija nuevoy, a continuación, elija proyecto.On the File menu, point to New, and then choose Project.

  2. En el cuadro de diálogo nuevo proyecto, en plantillas, debería Ver F#visual .In the New Project dialog, under Templates, you should see Visual F#. Elija esta opción para mostrar F# las plantillas.Choose this to show the F# templates.

  3. Seleccione aplicación de consola de .net Core o aplicación de consola.Select either .NET Core Console app or Console app.

  4. Elija el botón Aceptar para crear el F# proyecto.Choose the Okay button to create the F# project! Ahora debería ver un F# proyecto en el explorador de soluciones.You should now see an F# project in the Solution Explorer.

Escritura del códigoWriting your code

Vamos a empezar por escribir código primero.Let's get started by writing some code first. Asegúrese de que el Program.fs archivo está abierto y, a continuación, reemplace el contenido por lo siguiente:Make sure that the Program.fs file is open, and then replace its contents with the following:

module HelloSquare

let square x = x * x

[<EntryPoint>]
let main argv =
    printfn "%d squared is: %d!" 12 (square 12)
    0 // Return an integer exit code

En el ejemplo de código anterior, se square ha definido una función que toma una entrada x denominada y la multiplica por sí misma.In the previous code sample, a function square has been defined which takes an input named x and multiplies it by itself. Dado F# que utiliza la inferencia de tipos, x no es necesario especificar el tipo de.Because F# uses Type Inference, the type of x doesn't need to be specified. El F# compilador entiende los tipos en los que la multiplicación es válida y asignará un tipo square a x basándose en cómo se llama a.The F# compiler understands the types where multiplication is valid, and will assign a type to x based on how square is called. Si mantiene el puntero squaresobre, debería ver lo siguiente:If you hover over square, you should see the following:

val square: x:int -> int

Esto es lo que se conoce como la firma de tipo de la función.This is what is known as the function's type signature. Se puede leer de la siguiente manera: "Square es una función que toma un entero denominado x y genera un entero".It can be read like this: "Square is a function which takes an integer named x and produces an integer". Tenga en cuenta que el square compilador dio el tipo por ahora: esto se debe a que la multiplicación no es genérica en todos los tipos, sino que int es genérica en un conjunto cerrado de tipos.Note that the compiler gave square the int type for now - this is because multiplication is not generic across all types, but rather is generic across a closed set of types. El F# compilador eligió int en este punto, pero ajustará la firma del tipo si square llama a con otro tipo de entrada, floatcomo.The F# compiler picked int at this point, but it will adjust the type signature if you call square with a different input type, such as a float.

Otra función, main, se define, que se decora con el EntryPoint atributo para indicar al F# compilador que la ejecución del programa debe comenzar allí.Another function, main, is defined, which is decorated with the EntryPoint attribute to tell the F# compiler that program execution should start there. Sigue la misma Convención que otros lenguajes de programación de estilo C, donde se pueden pasar argumentos de línea de comandos a esta función y se devuelve un código entero (normalmente 0).It follows the same convention as other C-style programming languages, where command-line arguments can be passed to this function, and an integer code is returned (typically 0).

En esta función se llama a la square función con un argumento de. 12It is in this function that we call the square function with an argument of 12. A F# continuación, el compilador asigna el square tipo de int -> int para que sea ( int es decir, una intfunción que toma y produce).The F# compiler then assigns the type of square to be int -> int (that is, a function which takes an int and produces an int). La llamada a printfn es una función de impresión con formato que usa una cadena de formato, similar a los lenguajes de programación de estilo C, los parámetros que se corresponden con los especificados en la cadena de formato y, a continuación, imprime el resultado y una nueva línea.The call to printfn is a formatted printing function which uses a format string, similar to C-style programming languages, parameters which correspond to those specified in the format string, and then prints the result and a new line.

Ejecución del códigoRunning your code

Puede ejecutar el código y ver los resultados presionando Ctrl+F5.You can run the code and see results by pressing Ctrl+F5. Esto ejecuta el programa sin depuración y permite ver los resultados.This runs the program without debugging and allows you to see the results. Como alternativa, puede elegir el elemento de menú depurar de nivel superior en Visual Studio y elegir iniciar sin depurar.Alternatively, you can choose the Debug top-level menu item in Visual Studio and choose Start Without Debugging.

Ahora debería ver lo siguiente en la ventana de la consola que Visual Studio ha extraído:You should now see the following printed to the console window that Visual Studio popped up:

12 squared is 144!

¡Enhorabuena!Congratulations! Ha creado su primer F# proyecto en Visual Studio, ha escrito una F# función que ha impreso los resultados de la llamada a esa función y ejecutado el proyecto para ver algunos resultados.You've created your first F# project in Visual Studio, written an F# function printed the results of calling that function, and run the project to see some results.

Pasos siguientesNext steps

Si no lo ha hecho ya, consulte el paseo F# por, que cubre algunas de las características principales del F# lenguaje.If you haven't already, check out the Tour of F#, which covers some of the core features of the F# language. Le proporcionará una visión general de algunas de las funcionalidades de F#y proporcionará ejemplos de código que puede copiar en Visual Studio y ejecutar.It will give you an overview of some of the capabilities of F#, and provide ample code samples that you can copy into Visual Studio and run. También hay algunos excelentes recursos externos que puede usar, que se muestran en la F# guía.There are also some great external resources you can use, showcased in the F# Guide.

Vea tambiénSee also