F# Tutorial
Empezando con F #
Buscar..
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 |
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.
¡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 llamadamain
con un solo parámetroargv
. 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ónprintfn
genera la cadena ** pasada como su primer argumento, también anexando una nueva línea. -
0
funciones0
- F # siempre devuelven un valor, y el valor devuelto es el resultado de la última expresión en la función. Poner0
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.
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.