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 nazwiemain
z pojedynczym parametremargv
. Ponieważ jest to punkt wejścia programu,argv
będzie tablicą ciągów znaków. Zawartość tablicy to argumenty przekazane do programu podczas jego wykonywania. -
printfn "Hello, World!"
- funkcjaprintfn
wyprowadza ciąg ** przekazany jako pierwszy argument,printfn
również nowy wiersz. - Funkcje
0
- F # zawsze zwracają wartość, a zwracana wartość jest wynikiem ostatniego wyrażenia w funkcji. Wstawienie0
jako 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.