F# Samouczek
Rozpoczęcie pracy z F #
Szukaj…
Uwagi
F # to język „najpierw funkcjonalny”. Możesz dowiedzieć się o wszystkich różnych typach wyrażeń wraz z funkcjami .
Kompilator F # - który jest open source - kompiluje twoje programy do IL, co oznacza, że możesz używać kodu F # z dowolnego języka kompatybilnego z .NET, takiego jak C # ; i uruchom go w Mono, .NET Core lub .NET Framework w systemie Windows.
Wersje
| Wersja | Data wydania |
|---|---|
| 1.x | 2005-05-01 |
| 2.0 | 01.04.2010 |
| 3.0 | 01.08.2012 |
| 3.1 | 01.10.2013 |
| 4.0 | 01.07.2015 |
Instalacja lub konfiguracja
Windows
Jeśli masz zainstalowany program Visual Studio (dowolna wersja, w tym ekspresowa i społecznościowa), F # powinien już być dołączony. Po prostu wybierz F # jako język podczas tworzenia nowego projektu. Lub zobacz http://fsharp.org/use/windows/, aby uzyskać więcej opcji.
OS X
Xamarin Studio obsługuje F #. Alternatywnie możesz użyć VS Code dla OS X , który jest wieloplatformowym edytorem firmy Microsoft.
Po zakończeniu instalacji VS Code uruchom VS Code Quick Open ( Ctrl + P ), a następnie uruchom ext install Ionide-fsharp
Możesz również rozważyć Visual Studio dla komputerów Mac .
Istnieją inne alternatywy opisane tutaj .
Linux
Zainstaluj pakiety mono-complete i fsharp za pomocą fsharp pakietów Twojej dystrybucji (Apt, Yum itp.). Aby uzyskać dobrą jakość edycji, użyj Visual Studio Code i zainstaluj ionide-fsharp lub użyj Atom i zainstaluj ionide-installer . Więcej opcji można znaleźć na stronie http://fsharp.org/use/linux/
Witaj świecie!
To jest kod prostego projektu konsoli, który wypisuje „Witaj, świecie!” na STDOUT i kończy działanie z kodem wyjścia 0
[<EntryPoint>]
let main argv =
printfn "Hello, World!"
0
Przykładowy podział linia po linii:
-
[<EntryPoint>]- Atrybut .net, który oznacza „metodę[<EntryPoint>]do ustawienia punktu wejścia” twojego programu ( źródła ). -
let main argv- definiuje funkcję o nazwiemainz pojedynczym parametremargv. Ponieważ jest to punkt wejścia programu,argvbędzie tablicą ciągów znaków. Zawartość tablicy to argumenty przekazane do programu podczas jego wykonywania. -
printfn "Hello, World!"- funkcjaprintfnwyprowadza ciąg ** przekazany jako pierwszy argument,printfnrównież nowy wiersz. - Funkcje
0- F # zawsze zwracają wartość, a zwracana wartość jest wynikiem ostatniego wyrażenia w funkcji. Wstawienie0jako ostatniego wiersza oznacza, że funkcja zawsze zwróci zero (liczba całkowita).
** W rzeczywistości nie jest to ciąg znaków, chociaż wygląda jak jeden. W rzeczywistości jest to TextWriterFormat , który opcjonalnie pozwala na użycie argumentów sprawdzanych statycznie. Ale dla przykładu „witaj świecie” można go traktować jako ciąg.
F # Interactive
F # Interactive, to środowisko REPL, które pozwala wykonać kod F #, jeden wiersz na raz.
Jeśli masz zainstalowany program Visual Studio z F #, możesz uruchomić F # Interactive w konsoli, wpisując "C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\Fsi.exe" . W systemie Linux lub OS X zamiast tego polecenie to fsharpi , które powinno znajdować się w fsharpi /usr/bin lub w fsharpi /usr/local/bin zależności od sposobu zainstalowania F # - w obu przypadkach polecenie powinno znajdować się na PATH aby można było po prostu wpisz fsharpi .
Przykład użycia interaktywnego 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
Użyj #help;; o pomoc
Proszę zwrócić uwagę na użycie ;; aby powiedzieć REPL, aby wykonała wszelkie wcześniej wpisane polecenia.