Herramientas de usuario

Herramientas del sitio


functional:fsharp

¡Esta es una revisión vieja del documento!


F#

Básicos

Primeras pinceladas

Puedes poner la clausula #light al principio de cada archivo de código. Esto hace que lo escrito en ese archivo permita una sintaxis más olgada, ya que por defecto F# es compatible con OCaml y este tiene una sintaxis muy restrictiva.
Para F# es importante el espaciado, es decir, los espacios tendrán relevancia en el código ya que código verticalmente alineado está considerado semánticamente relacionado.
Los comentarios serán…

// This is a single-comment. Everything from the start is treated as a comment.
(* This is a
multiline comment *)
/// This is a doc comment that can be converted to useful documentation.

En F# cada “comando” de código es una expresión, esto significa que todo comando genera un valor de un tipo de datos concreto.

El comando open sería el equivalente a using de C#, open importa un namespace de una librería .NET (y, como en C#, necesitas hacer referencia a la DLL correspondiente).

Por defecto se agregan los siguientes namespaces: Microsoft.FSharp.Core (tipado de datos), Microsoft.FSharp.Core.Operators (operadores), Microsoft.FSharp.Collections (colecciones), Microsoft.FSharp.Control (construcciones de lazy evaluation y flujos asíncronos), Microsoft.FSharp.Text (funciones de IO).

Herramientas

La consola interactiva

Te permite evaluar expresiones de F#, es el ejecutable fsi.exe (con mono es fsharpi). Sobre esta podemos lanzar comandos como…

printfn "Hello world!";;
#r "System.Web.dll";;

La consola evaluará el código una vez se introduzcan dos puntos y coma: ;;.

El compilador

Es el “fsc.exe”.

Enlaces de instalación

Tipos de datos y operaciones

Los datos en F# no se asignan sino que se enlazan. Esto significa que al hacer:

let x = 3

Se enlaza x con el símbolo o, en este caso, valor numérico 3, si luego se volviese a enlazar con otro valor el 3 quedaría abandonado y a la espera del garbage colector.
let soporta la asignación múltiple:

let a, b = 100, 200     // a=100, b=200
let x, y, z = 5, 4, 3   // x=5, y=4, z=3

Numéricos

Un número, como por ejemplo 100, es interpretado como un integer de 32 bits, si queremos que sea un short escribiríamos 100s. Los tipos de datos que existen son: La forma de expresar números es:

  1. Hexadecimal: mediante el prefijo 0x: 0x7F.
  2. Octal: un cero seguido de una 'o' minúscula: 0o103.
  3. Binario: un cero seguido de una 'b': 0b1001.
functional/fsharp.1296143714.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)