F#Empezando con F #


Observaciones

F # es un lenguaje "funcional primero". Puedes aprender sobre todos los diferentes tipos de expresiones , junto con las funciones .

El compilador F #, que es de código abierto , compila sus programas en IL, lo que significa que puede usar el código F # desde cualquier lenguaje compatible con .NET como C # ; y ejecútelo en Mono, .NET Core o .NET Framework en Windows.

Versiones

Versión Fecha de lanzamiento
1.x 2005-05-01
2.0 2010-04-01
3.0 2012-08-01
3.1 2013-10-01
4.0 2015-07-01

F # interactivo

F # Interactive, es un entorno REPL que le permite ejecutar el código F #, una línea a la vez.

Si ha instalado Visual Studio con F #, puede ejecutar F # Interactive en la consola escribiendo "C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\Fsi.exe" . En Linux u OS X, el comando es fsharpi , que debe estar en /usr/bin o en /usr/local/bin dependiendo de cómo instaló F #. De cualquier manera, el comando debe estar en su PATH para que pueda sólo tiene que escribir fsharpi .

Ejemplo de uso interactivo de F #:

> let i = 1 // fsi prompt, declare i
- let j = 2 // declare j
- i+j // compose expression
- ;; // execute commands

val i : int = 1 // fsi output started, this gives the value of i
val j : int = 2 // the value of j
val it : int = 3 // computed expression

> #quit;; //quit fsi
 

Utilice #help;; por ayuda

Tenga en cuenta el uso de ;; para decirle a la REPL que ejecute cualquier comando previamente escrito.

¡Hola Mundo!

Este es el código para un proyecto de consola simple, que imprime "¡Hola, mundo!" A STDOUT, y sale con un código de salida de 0

[<EntryPoint>]
let main argv = 
    printfn "Hello, World!"
    0 
 

Ejemplo de desglose línea por línea:

  • [<EntryPoint>] - Un atributo .net que marca "el método que usas para establecer el punto de entrada" de tu programa ( fuente ).
  • let main argv : esto define una función llamada main con un solo parámetro argv . Debido a que este es el punto de entrada del programa, argv será una matriz de cadenas. El contenido de la matriz son los argumentos que se pasaron al programa cuando se ejecutó.
  • printfn "Hello, World!" - la función printfn genera la cadena ** pasada como su primer argumento, también anexando una nueva línea.
  • 0 funciones 0 - F # siempre devuelven un valor, y el valor devuelto es el resultado de la última expresión en la función. Poner 0 como la última línea significa que la función siempre devolverá cero (un número entero).

** En realidad, esto no es una cadena a pesar de que parece una. En realidad, es un TextWriterFormat , que opcionalmente permite el uso de argumentos comprobados de tipo estático. Pero para el propósito de un ejemplo de "hola mundo" se puede pensar que es una cuerda.

Instalación o configuración

Windows

Si tiene instalado Visual Studio (cualquier versión incluyendo Express y community), F # ya debería estar incluido. Simplemente elija F # como el idioma cuando cree un nuevo proyecto. O vea http://fsharp.org/use/windows/ para más opciones.

OS X

Xamarin Studio soporta F #. Alternativamente, puede usar VS Code para OS X , que es un editor multiplataforma de Microsoft.
Una vez hecho esto con la instalación de VS Code, inicie VS Code Quick Open ( Ctrl + P ) y luego ejecute ext install Ionide-fsharp

También puede considerar Visual Studio para Mac .

Hay otras alternativas descritas aquí .

Linux

Instale los paquetes mono-complete y fsharp través del fsharp paquetes de su distribución (Apt, Yum, etc.). Para una buena experiencia de edición, use el código de Visual Studio e instale el ionide-fsharp , o use Atom e instale el ionide-installer . Vea http://fsharp.org/use/linux/ para más opciones.