Novedades en los tipos de F#

Otro de las novedades que introduce Visual Studio 2010 es el lenguaje F#. A continuación vamos a ir viendo algunas de las características que este presenta.

Para ello abrimos una consola de comandos desde Inicio > Todos los programas > Microsoft Visual Studio 2010 > Visual Studio Tools > Visual Studio 2010 Command Prompt, y ejecutamos la aplicación fsi.exe. De esta manera podemos ir probando los comandos específicos para este lenguaje. Para los que lo prefieran, se puede hacer lo mismo pero a partir un proyecto de tipo Tutorial F#, disponible en las plantillas del propio Visual Studio.

Lo primero que vamos a ver son los tipos inferentes. En los lenguajes funcionales como F# no sé utilizan variables, ya que los valores están vinculados a identificadores de manera que puedan ser referenciados en el resto del programa. Estos funcionan de manera que el sistema evalúa el valor introducido, determina su tipo y lo vincula a un identificador llamado “it”. En la siguiente imagen se puede ver como en función de los distintos valores que introducimos, la variable it se va actualizando y asociando a los nuevos tipos. Además a través del comando “let” podemos asociar las distintas variables a los identificadores, y modificar sus valores.

image 

Lo segundo que vamos a ver son las Tuplas y las Funciones. Las tuplas son estructuras que nos permiten agrupar varios valores, formando un nuevo tipo que se puede utilizar en lugar de cualquier otro valor. Este tipo es útil en situaciones en las que no es lógico separar datos, por ejemplo la fecha y número de una  transacción. Por otro lado las funciones se utilizan como valores. Es decir, se puede acceder a ellas a través de los identificadores.  A diferencia de los lenguajes tradicionales que utilizan paréntesis y comillas para indicar las llamadas a la función, F # sabe que el primer identificador es un tipo de función , y espera que todos los parámetros se separen por espacios. Por ejemplo, "MyFunction firstParam secondParam".

En la siguiente imagen podemos ver como se definen tanto las tuplas como las funciones. Al igual que en el caso anterior, se puede trabajar con ellas a través del comando let.

image

Y si queremos trabajar individualmente con alguno de los parámetros de una tupla debemos utilizar los comandos fst(first) and snd (second) para obtener sus valores. A continuación podemos ver un ejemplo de como podemos hacerlo:

let a = (89,”pruebita”);; definimos una tupla

val it : int * string = (89,”pruebita”)

fst a;; //seleccionamos el primer parámetro

val it : int = 89 //lo que obtenemos

snd a;; //seleccionamos el segundo parámetro

val it : string = “pruebita”//lo que obtenemos

En próximas entradas iremos viendo como trabajar con las funciones, más en profundidad, y como crear listas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *