F#Commencer avec F #

Remarques

F # est une langue "fonctionnelle-première". Vous pouvez en apprendre davantage sur tous les différents types d'expressions , ainsi que des fonctions .

Le compilateur F # - qui est open source - compile vos programmes en IL, ce qui signifie que vous pouvez utiliser le code F # à partir de tout langage compatible .NET tel que C # ; et l'exécuter sur Mono, .NET Core ou .NET Framework sous Windows.

Versions

Version Date de sortie
1 fois 2005-05-01
2.0 2010-04-01
3.0 2012-08-01
3.1 2013-10-01
4.0 2015-07-01

Installation ou configuration

les fenêtres

Si Visual Studio (toute version incluant Express et Community) est installé, F # devrait déjà être inclus. Choisissez simplement F # comme langue lorsque vous créez un nouveau projet. Ou consultez http://fsharp.org/use/windows/ pour plus d'options.

OS X

Xamarin Studio prend en charge F #. Vous pouvez également utiliser VS Code pour OS X , un éditeur multi-plateforme de Microsoft.
Une fois l'installation terminée, lancez VS Code Quick Open ( Ctrl + P ), puis exécutez ext install Ionide-fsharp

Vous pouvez également envisager Visual Studio pour Mac .

Il existe d'autres alternatives décrites ici .

Linux

Installez les packages mono-complete et fsharp via le gestionnaire de paquets de votre distribution (Apt, Yum, etc.). Pour une bonne expérience de montage, utilisez Visual Studio Code et installez le ionide-fsharp in ionide-fsharp ou utilisez Atom et installez le ionide-installer in ionide-installer . Voir http://fsharp.org/use/linux/ pour plus d'options.

Bonjour le monde!

Ceci est le code pour un projet de console simple, qui affiche "Hello, World!" à STDOUT, et quitte avec un code de sortie de 0

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

Exemple de décomposition Ligne par ligne:

  • [<EntryPoint>] - Un attribut .net qui marque "la méthode que vous utilisez pour définir le point d’entrée" de votre programme ( source ).
  • let main argv - définit une fonction appelée main avec un seul paramètre argv . Comme il s'agit du point d'entrée du programme, argv sera un tableau de chaînes. Le contenu du tableau sont les arguments transmis au programme lors de son exécution.
  • printfn "Hello, World!" - la fonction printfn la chaîne ** passée en premier argument, en ajoutant également une nouvelle ligne.
  • 0 - F # renvoient toujours une valeur et la valeur renvoyée est le résultat de la dernière expression de la fonction. Mettre 0 comme dernière ligne signifie que la fonction retournera toujours zéro (un entier).

** Ce n'est en fait pas une chaîne même si elle en a l'air. C'est en fait un TextWriterFormat , qui permet éventuellement d'utiliser des arguments vérifiés de type statique. Mais dans le cas d'un exemple de "bonjour le monde", on peut le considérer comme une chaîne.

F # Interactive

F # Interactive, est un environnement REPL qui vous permet d'exécuter du code F #, une ligne à la fois.

Si vous avez installé Visual Studio avec F #, vous pouvez exécuter F # Interactive dans la console en tapant "C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\Fsi.exe" . Sous Linux ou OS X, la commande est fsharpi à la place, qui devrait être soit dans /usr/bin ou /usr/local/bin selon la façon dont vous avez installé F # - De toute façon, la commande doit être sur votre PATH afin que vous puissiez tapez simplement fsharpi .

Exemple d'utilisation interactive 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

Utilisez #help;; pour aider

S'il vous plaît noter l'utilisation de ;; pour indiquer à REPL d'exécuter les commandes précédemment saisies.