Dièse de F
Le F# ( prononcé F pointu) est un langage de programmation de du multiparadigme , visant le cadre du .NET, qui entoure la programmation fonctionnelle comme des disciplines impératives de la programmation orientée objectivement du . C'est une variante du ml et est en grande partie compatible avec l'exécution d'OCaml . F# a été intially développé par le Don Syme à la recherche de Microsoft de mais maintenant est développé à la Division de réalisateur de Microsoft et productized comme langue pleinement approuvée dans le cadre du .NET et l'écosystème visuel du studio .
Vue d'ensemble
F# est une langue strongly-typed du qui emploie le type l'inférence . En conséquence, des types de données n'ont pas besoin d'être explicitement déclarés par le programmeur, plutôt seront déduits par le compilateur pendant la compilation. Cependant, F# permet également le type déclaration explicite de données. Être une langue , F# du .NET soutient des types de . Mais il prolonge le type système et classe des types par catégorie comme types immuables ou types mutables.NET classifient en tant que types mutables (qui peuvent être sur place édité), et sont employés pour fournir un modèle de la programmation orientée objectivement . Des types immuables (éditant qui crée un nouvel exemple sans recouvrir le plus ancien) sont principalement employés pour la programmation fonctionnelle .Comme le ml , F# inclut une évaluation désireuse de soutien de composant de programmation fonctionnelle. Pour la programmation fonctionnelle, il fournit plusieurs construire et un ensemble avec de types immuables : les tuples , de enregistre , syndicats distingués par et listes de .
F# emploie la configuration avec un modèle aux noms de résolution dans des valeurs. Il est également employé en accédant aux syndicats distingués. Les fonctions using une union distinguée fournissent différentes expressions à appeler, lié aux données saisissent l'union. L'union est assortie contre ces types de données, et l'expression liée à l'allumette est appelée. F# soutient également le modèle des modèles d'Active de . Il est employé, par exemple, quand un type doit fournir des vues multiples. Par exemple, un nombre exponentiel fournira tous les deux la valeur finale, aussi bien que la base et les exposants.
F#, comme d'autres langues de .NET, peut employer des types de .NET et des objets, using un modèle orienté objectivement impératif de la programmation. Pour la programmation impérative, F# soutient for et le des boucles de while range (créé avec le … |la syntaxe de , et le nombre ordonnance écrit dans la sténographie comme dans 1. 25) et soutient pour créer le Object types (équivalent aux classes de .
Des expressions d'ordre et les expressions de calcul sont également employées pour créer les déroulements des opérations asynchrones de .
F# vient avec un service linguistique visuel du studio de Microsoft de qui l'intègre avec l'ide. Le service linguistique étant installé, le studio visuel peut être employé pour créer les projets de F# et le programme de mise au point visuel de studio utilisé pour corriger le code de F#. En outre, il vient avec une console interactive Studio-accueillie visuelle qui exécute le code de F# pendant qu'on lui écrit.
Exemples
Quelques petits échantillons suivent :
(* c'est un commentaire *) (* programme du monde témoin bonjour *) " de printf ; Bonjour monde ! " ;
de
lumière ouvrir Microsoft.List (* imprimer une liste de nombres périodiquement *) laisser le printlist de REC navire de débarquement de chars = (* en employant le " ; #light" ; , vous devez denteler avec les 4 espaces *) si navire de débarquement de chars = puis () " d'autre de printf ; %d \ n" ; (nième navire de débarquement de chars 0) printlist (navires de débarquement de chars de tl)(* la même chose, using l'assortiment contre des éléments de liste *) laisser le printlist de REC l = assortir l avec | - > () | h : : t - > " de printfn ; %A" ; h printlist t
de
lumière (* formule de nombre de Fibonacci *) laisser le mensonge de REC n = assortir n avec | 0 - > 0 | 1 | 2 - > 1 | n - > (mensonge (n - 1)) + (mensonge (n - 2))(* mensonges d'impression même *) .map (amusement n - > mensonge n) |> List.filter (amusement n - > (mod de n 2) = 0) |> printlist
(* la même chose, using la syntaxe de compréhension *) (* *) (* NE COMPILE PAS *) (* *) pour I dans 1.10 faire laisser r = mensonge i si % de r 2 = 0 rapportent alors r] |> printlist
de
lumière (* l'échantillon Windows forme le programme *)(* nous devons ouvrir la bibliothèque de formes de Windows *) ouvrir System.Forms
(* créer une fenêtre et placer quelques propriétés *) laisser la forme = nouvelle forme (Visible=true, TopMost=true, Text=" ; Bienvenue à F#" ;)
(* créer une étiquette pour montrer un certain texte sous la forme *) laisser l'étiquette = laisser le temp = la nouvelle étiquette () laisser x = 3 + (4 * 5) (* placer la valeur du Text*) temp. Texte < - " de sprintf ; X = %d" ; X (* se rappeler de renvoyer une valeur ! *) temp
(* ajouter l'étiquette à la forme *) former.Add (l'étiquette)
(* en conclusion, courir la forme *) faire Application.Run (la forme)
F# est compatible avec le produit exprès du studio de jeu du XNA, qui permet la construction des jeux pour Windows et pour le Xbox 360.
| Random links: | Dépôt de Suffield | Singe | Eliphalet Remington | Sonique (musicien) | Pont de fleuve de Siuslaw | Sostenido_de_F |