F # - podstawowe we / wy
Podstawowe wejście Wyjście obejmuje -
- Czytanie i pisanie w konsoli.
- Czytanie zi zapisywanie do pliku.
Moduł Core.Printf
Użyliśmy funkcji printf i printfn do zapisu w konsoli. W tej sekcji przyjrzymy się szczegółomPrintf moduł F #.
Oprócz powyższych funkcji, moduł Core.Printf F # ma różne inne metody drukowania i formatowania przy użyciu znaczników% jako symboli zastępczych. Poniższa tabela przedstawia metody wraz z krótkim opisem -
Wartość | Opis |
---|---|
bprintf: StringBuilder → BuilderFormat <'T> →' T | Drukuje do StringBuilder. |
eprintf: TextWriterFormat <'T> →' T | Wyświetla sformatowane wyjście na stderr. |
eprintfn: TextWriterFormat <'T> →' T | Wyświetla sformatowane dane wyjściowe na stderr, dodając nowy wiersz. |
failwithf: StringFormat <'T,' Wynik> → 'T | Drukuje do bufora łańcuchowego i zgłasza wyjątek z podanym wynikiem. |
fprintf: TextWriter → TextWriterFormat <'T> →' T | Drukuje dla autora tekstu. |
fprintfn: TextWriter → TextWriterFormat <'T> →' T | Drukuje do pisarza tekstu, dodając nowy wiersz. |
kbprintf: (jednostka → 'Wynik) → StringBuilder → BuilderFormat <' T, 'Wynik> →' T | Podobnie jak bprintf, ale wywołuje określoną funkcję w celu wygenerowania wyniku. |
kfprintf: (jednostka → 'Wynik) → TextWriter → TextWriterFormat <' T, 'Wynik> →' T | Podobnie jak fprintf, ale wywołuje określoną funkcję w celu wygenerowania wyniku. |
kprintf: (string → 'Wynik) → StringFormat <' T, 'Wynik> →' T | Podobnie jak printf, ale wywołuje określoną funkcję w celu wygenerowania wyniku. Na przykład, pozwalają one drukować na wymuszenie wyrównania po wprowadzeniu całego wyjścia do kanału, ale nie wcześniej. |
ksprintf: (string → 'Wynik) → StringFormat <' T, 'Wynik> →' T | Podobnie jak sprintf, ale wywołuje określoną funkcję w celu wygenerowania wyniku. |
printf: TextWriterFormat <'T> →' T | Wyświetla sformatowane dane wyjściowe na standardowe wyjście. |
printfn: TextWriterFormat <'T> →' T | Wyświetla sformatowane dane wyjściowe na standardowe wyjście, dodając nowy wiersz. |
sprintf: StringFormat <'T> →' T | Drukuje do ciągu przy użyciu wewnętrznego buforu ciągu i zwraca wynik jako ciąg. |
Specyfikacje formatu
Specyfikacje formatu są używane do formatowania wejścia lub wyjścia, zgodnie z potrzebami programistów.
Są to ciągi znaków ze znacznikami% wskazującymi symbole zastępcze formatu.
Składnia symboli zastępczych formatu to -
%[flags][width][.precision][type]
Plik type jest interpretowane jako -
Rodzaj | Opis |
---|---|
%b | Formaty a bool, sformatowany jako true lub false. |
%do | Formatuje znak. |
% s | Formaty a string, sformatowany jako zawartość, bez interpretowania żadnych znaków zmiany znaczenia. |
% d,% i | Formatuje dowolny podstawowy typ liczby całkowitej sformatowany jako dziesiętna liczba całkowita ze znakiem, jeśli podstawowy typ liczby całkowitej jest podpisany. |
% u | Formatuje dowolny podstawowy typ liczby całkowitej sformatowany jako dziesiętna liczba całkowita bez znaku. |
% x | Formatuje dowolny podstawowy typ liczby całkowitej sformatowany jako liczba szesnastkowa bez znaku, używając małych liter od a do f. |
% X | Formatuje dowolny podstawowy typ liczby całkowitej sformatowany jako liczba szesnastkowa bez znaku, używając wielkich liter od A do F. |
% o | Formatuje dowolny podstawowy typ liczby całkowitej sformatowany jako ósemkowa liczba całkowita bez znaku. |
% e,% E,% f,% F,% g,% G | Formatuje dowolny podstawowy typ zmiennoprzecinkowy (float, float32) sformatowany przy użyciu specyfikacji formatu zmiennoprzecinkowego w stylu C. |
% e,% E | Formatuje wartość ze znakiem, która ma postać [-] d.dddde [znak] ddd, gdzie d to pojedyncza cyfra dziesiętna, dddd to jedna lub więcej cyfr dziesiętnych, ddd to dokładnie trzy cyfry dziesiętne, a znak to + lub -. |
%fa | Formatuje wartość ze znakiem w postaci [-] dddd.dddd, gdzie dddd to jedna lub więcej cyfr dziesiętnych. Liczba cyfr przed przecinkiem zależy od wielkości liczby, a liczba cyfr po przecinku zależy od wymaganej dokładności. |
% g,% G | Formatuje wartość ze znakiem wydrukowaną w formacie f lub e, w zależności od tego, który jest bardziej zwarty dla danej wartości i dokładności. |
% M | Formatuje wartość Decimal. |
% O | Formatuje dowolną wartość, drukowaną przez umieszczenie obiektu w ramce i użycie jego ToString metoda. |
% A,% + A | Formatuje dowolną wartość, drukowaną z domyślnymi ustawieniami układu. Użyj% + A, aby wydrukować strukturę związków dyskryminowanych z reprezentacjami wewnętrznymi i prywatnymi. |
%za | Ogólny specyfikator formatu wymaga dwóch argumentów. Pierwszy argument to funkcja, która przyjmuje dwa argumenty: pierwszy parametr kontekstu odpowiedniego typu dla danej funkcji formatującej (na przykład TextWriter), a drugi wartość do wydrukowania i która zwraca lub zwraca odpowiedni tekst. Drugi argument to określona wartość do wydrukowania. |
% t | Ogólny specyfikator formatu wymaga jednego argumentu: funkcji, która akceptuje parametr kontekstu odpowiedniego typu dla danej funkcji formatującej (aTextWriter) i która albo wyprowadza, albo zwraca odpowiedni tekst. Podstawowe typy liczb całkowitych tobyte, sbyte, int16, uint16, int32, uint32, int64, uint64, nativeint, i unativeint. Podstawowe typy zmiennoprzecinkowe to float i float32. |
Plik widthjest opcjonalnym parametrem. Jest to liczba całkowita określająca minimalną szerokość wyniku. Na przykład% 5d drukuje liczbę całkowitą z co najmniej 5 znakami spacji.
Ważny flags opisano w poniższej tabeli -
Wartość | Opis |
---|---|
0 | Określa, aby dodać zera zamiast spacji, aby uzyskać wymaganą szerokość. |
- | Określa wyrównywanie wyniku do lewej w określonej szerokości. |
+ | Określa, że należy dodać znak +, jeśli liczba jest dodatnia (aby dopasować znak - dla liczb ujemnych). |
' ' (przestrzeń) | Określa, że należy dodać dodatkową spację, jeśli liczba jest dodatnia (aby dopasować znak - dla liczb ujemnych). |
# | Nieważny. |
Przykład
printf "Hello "
printf "World"
printfn ""
printfn "Hello "
printfn "World"
printf "Hi, I'm %s and I'm a %s" "Rohit" "Medical Student"
printfn "d: %f" 212.098f
printfn "e: %f" 504.768f
printfn "x: %g" 212.098f
printfn "y: %g" 504.768f
printfn "x: %e" 212.098f
printfn "y: %e" 504.768f
printfn "True: %b" true
Kiedy kompilujesz i wykonujesz program, daje to następujące dane wyjściowe -
Hello World
Hello
World
Hi, I'm Rohit and I'm a Medical Studentd: 212.098000
e: 504.768000
x: 212.098
y: 504.768
x: 2.120980e+002
y: 5.047680e+002
True: true
Klasa konsoli
Ta klasa jest częścią platformy .NET. Reprezentuje standardowe strumienie wejścia, wyjścia i błędów dla aplikacji konsolowych.
Zapewnia różne metody odczytu i zapisu w konsoli. Poniższa tabela przedstawia metody -
metoda | Opis |
---|---|
Brzęczyk() | Odtwarza dźwięk sygnału dźwiękowego przez głośnik konsoli. |
Sygnał dźwiękowy (Int32, Int32) | Odtwarza dźwięk sygnału dźwiękowego o określonej częstotliwości i czasie trwania przez głośnik konsoli. |
Jasny | Czyści bufor konsoli i odpowiednie okno konsoli z wyświetlanymi informacjami. |
MoveBufferArea (Int32, Int32, Int32, Int32, Int32, Int32) | Kopiuje określony obszar źródłowy buforu ekranu do określonego obszaru docelowego. |
MoveBufferArea (Int32, Int32, Int32, Int32, Int32, Int32, Char, ConsoleColor, ConsoleColor) | Kopiuje określony obszar źródłowy buforu ekranu do określonego obszaru docelowego. |
OpenStandardError () | Uzyskuje standardowy strumień błędów. |
OpenStandardError (Int32) | Uzyskuje standardowy strumień błędów, który jest ustawiony na określony rozmiar buforu. |
OpenStandardInput () | Uzyskuje standardowy strumień wejściowy. |
OpenStandardInput (Int32) | Uzyskuje standardowy strumień wejściowy, który jest ustawiony na określony rozmiar buforu. |
OpenStandardOutput () | Uzyskuje standardowy strumień wyjściowy. |
OpenStandardOutput (Int32) | Uzyskuje standardowy strumień wyjściowy, który jest ustawiony na określony rozmiar buforu. |
Czytać | Odczytuje następny znak ze standardowego strumienia wejściowego. |
Kluczem przeczytać() | Uzyskuje następny znak lub klawisz funkcyjny naciśnięty przez użytkownika. Wciśnięty klawisz jest wyświetlany w oknie konsoli. |
ReadKey (wartość logiczna) | Uzyskuje następny znak lub klawisz funkcyjny naciśnięty przez użytkownika. Wciśnięty klawisz jest opcjonalnie wyświetlany w oknie konsoli. |
Czytaj linię | Odczytuje następny wiersz znaków ze standardowego strumienia wejściowego. |
ResetColor | Ustawia domyślne kolory konsoli pierwszego planu i tła. |
SetBufferSize | Ustawia wysokość i szerokość obszaru bufora ekranu na określone wartości. |
SetCursorPosition | Ustawia pozycję kursora. |
SetError | Ustawia właściwość Error na określony obiekt TextWriter . |
SetIn | Ustawia właściwość In na określony obiekt TextReader . |
SetOut | Ustawia właściwość Out na określony obiekt TextWriter . |
SetWindowPosition | Ustawia pozycję okna konsoli względem bufora ekranu. |
SetWindowSize | Ustawia wysokość i szerokość okna konsoli na określone wartości. |
Napisz (wartość logiczna) | Zapisuje tekstową reprezentację określonej wartości logicznej w standardowym strumieniu wyjściowym. |
Napisz (znak) | Zapisuje określoną wartość znaku Unicode w standardowym strumieniu wyjściowym. |
Napisz (Char []) | Zapisuje określoną tablicę znaków Unicode w standardowym strumieniu wyjściowym. |
Zapis (dziesiętny) | Zapisuje tekstową reprezentację określonej wartości Decimal w standardowym strumieniu wyjściowym. |
Napisz (podwójne) | Zapisuje tekstową reprezentację określonej wartości zmiennoprzecinkowej o podwójnej precyzji w standardowym strumieniu wyjściowym. |
Napisz (Int32) | Zapisuje tekstową reprezentację określonej 32-bitowej liczby całkowitej ze znakiem w standardowym strumieniu wyjściowym. |
Napisz (Int64) | Zapisuje tekstową reprezentację określonej 64-bitowej liczby całkowitej ze znakiem w standardowym strumieniu wyjściowym. |
Napisz (obiekt) | Zapisuje tekstową reprezentację określonego obiektu w standardowym strumieniu wyjściowym. |
Napisz (pojedynczy) | Zapisuje tekstową reprezentację określonej wartości zmiennoprzecinkowej o pojedynczej precyzji w standardowym strumieniu wyjściowym. |
Napisz (ciąg) | Zapisuje określoną wartość ciągu w standardowym strumieniu wyjściowym. |
Napisz (UInt32) | Zapisuje tekstową reprezentację określonej 32-bitowej liczby całkowitej bez znaku w standardowym strumieniu wyjściowym. |
Napisz (UInt64) | Zapisuje tekstową reprezentację określonej 64-bitowej liczby całkowitej bez znaku w standardowym strumieniu wyjściowym. |
Napisz (ciąg, obiekt) | Zapisuje tekstową reprezentację określonego obiektu w standardowym strumieniu wyjściowym przy użyciu określonych informacji o formacie. |
Napisz (ciąg, obiekt []) | Zapisuje tekstową reprezentację określonej tablicy obiektów w standardowym strumieniu wyjściowym przy użyciu określonych informacji o formacie. |
Napisz (Char [], Int32, Int32) | Zapisuje określoną podtablicę znaków Unicode w standardowym strumieniu wyjściowym. |
Napisz (ciąg, obiekt, obiekt) | Zapisuje tekstową reprezentację określonych obiektów w standardowym strumieniu wyjściowym przy użyciu określonych informacji o formacie. |
Napisz (ciąg, obiekt, obiekt, obiekt) | Zapisuje tekstową reprezentację określonych obiektów w standardowym strumieniu wyjściowym przy użyciu określonych informacji o formacie. |
Napisz (ciąg, obiekt, obiekt, obiekt, obiekt) | Zapisuje tekstową reprezentację określonych obiektów i listę parametrów o zmiennej długości w standardowym strumieniu wyjściowym przy użyciu określonych informacji o formacie. |
WriteLine () | Zapisuje bieżący terminator linii w standardowym strumieniu wyjściowym. |
WriteLine (Boolean) | Zapisuje tekstową reprezentację określonej wartości logicznej, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym. |
WriteLine (znak) | Zapisuje określony znak Unicode, po którym następuje bieżący terminator wiersza, wartość w standardowym strumieniu wyjściowym. |
WriteLine (Char []) | Zapisuje określoną tablicę znaków Unicode, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym. |
WriteLine (dziesiętny) | Zapisuje tekstową reprezentację określonej wartości Decimal, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym. |
WriteLine (podwójny) | Zapisuje tekstową reprezentację określonej wartości zmiennoprzecinkowej o podwójnej precyzji, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym. |
WriteLine (Int32) | Zapisuje tekstową reprezentację określonej 32-bitowej liczby całkowitej ze znakiem, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym. |
WriteLine (Int64) | Zapisuje tekstową reprezentację określonej 64-bitowej wartości całkowitej ze znakiem, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym. |
WriteLine (obiekt) | Zapisuje tekstową reprezentację określonego obiektu, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym. |
WriteLine (pojedynczy) | Zapisuje tekstową reprezentację określonej wartości zmiennoprzecinkowej o pojedynczej precyzji, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym. |
WriteLine (ciąg) | Zapisuje określoną wartość ciągu, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym. |
WriteLine (UInt32) | Zapisuje tekstową reprezentację określonej 32-bitowej liczby całkowitej bez znaku, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym. |
WriteLine (UInt64) | Zapisuje tekstową reprezentację określonej 64-bitowej wartości całkowitej bez znaku, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym. |
WriteLine (ciąg, obiekt) | Zapisuje tekstową reprezentację określonego obiektu, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym przy użyciu określonych informacji o formacie. |
WriteLine (ciąg, obiekt []) | Zapisuje tekstową reprezentację określonej tablicy obiektów, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym przy użyciu określonych informacji o formacie. |
WriteLine (Char [], Int32, Int32) | Zapisuje określoną podtablicę znaków Unicode, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym. |
WriteLine (ciąg, obiekt, obiekt) | Zapisuje tekstową reprezentację określonych obiektów, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym przy użyciu określonych informacji o formacie. |
WriteLine (ciąg, obiekt, obiekt, obiekt) | Zapisuje tekstową reprezentację określonych obiektów, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym przy użyciu określonych informacji o formacie. |
WriteLine (ciąg, obiekt, obiekt, obiekt, obiekt) | Zapisuje tekstową reprezentację określonych obiektów i listę parametrów o zmiennej długości, po której następuje bieżący terminator wiersza, w standardowym strumieniu wyjściowym przy użyciu określonych informacji o formacie. |
Poniższy przykład demonstruje czytanie z konsoli i pisanie do niej -
Przykład
open System
let main() =
Console.Write("What's your name? ")
let name = Console.ReadLine()
Console.Write("Hello, {0}\n", name)
Console.WriteLine(System.String.Format("Big Greetings from {0} and {1}", "TutorialsPoint", "Absoulte Classes"))
Console.WriteLine(System.String.Format("|{0:yyyy-MMM-dd}|", System.DateTime.Now))
main()
Kiedy kompilujesz i wykonujesz program, daje to następujące dane wyjściowe -
What's your name? Kabir
Hello, Kabir
Big Greetings from TutorialsPoint and Absoulte Classes
|2015-Jan-05|
Przestrzeń nazw System.IO
Przestrzeń nazw System.IO zawiera wiele przydatnych klas do wykonywania podstawowych operacji we / wy.
Zawiera typy lub klasy, które umożliwiają odczytywanie i zapisywanie do plików i strumieni danych oraz typy, które zapewniają podstawową obsługę plików i katalogów.
Klasy przydatne przy pracy z systemem plików -
- Klasa System.IO.File służy do tworzenia, dołączania i usuwania plików.
- Klasa System.IO.Directory służy do tworzenia, przenoszenia i usuwania katalogów.
- Klasa System.IO.Path wykonuje operacje na łańcuchach, które reprezentują ścieżki plików.
- Klasa System.IO.FileSystemWatcher umożliwia użytkownikom nasłuchiwanie katalogu pod kątem zmian.
Klasy przydatne do pracy ze strumieniami (sekwencja bajtów) -
- Klasa System.IO.StreamReader służy do odczytywania znaków ze strumienia.
- Klasa System.IO.StreamWriter służy do zapisywania znaków w strumieniu.
- Klasa System.IO.MemoryStream tworzy w pamięci strumień bajtów.
W poniższej tabeli przedstawiono wszystkie klasy dostępne w przestrzeni nazw wraz z krótkim opisem -
Klasa | Opis |
---|---|
BinaryReader | Odczytuje pierwotne typy danych jako wartości binarne w określonym kodowaniu. |
BinaryWriter | Zapisuje typy pierwotne w postaci binarnej w strumieniu i obsługuje pisanie ciągów w określonym kodowaniu. |
BufferedStream | Dodaje warstwę buforującą do operacji odczytu i zapisu w innym strumieniu. |
Informator | Udostępnia statyczne metody tworzenia, przenoszenia i wyliczania w katalogach i podkatalogach. |
DirectoryInfo | Udostępnia metody instancji służące do tworzenia, przenoszenia i wyliczania w katalogach i podkatalogach. |
DirectoryNotFoundException | Wyjątek, który jest generowany, gdy nie można znaleźć części pliku lub katalogu. |
DriveInfo | Zapewnia dostęp do informacji na dysku. |
DriveNotFoundException | Wyjątek, który jest generowany podczas próby uzyskania dostępu do dysku lub udziału, który nie jest dostępny. |
EndOfStreamException | Wyjątek, który jest generowany podczas próby odczytu po zakończeniu strumienia. |
ErrorEventArgs | Zawiera dane dla zdarzenia FileSystemWatcher.Error. |
Plik | Zapewnia statyczne metody tworzenia, kopiowania, usuwania, przenoszenia i otwierania pojedynczego pliku oraz pomaga w tworzeniu obiektów FileStream. |
FileFormatException | Wyjątek, który jest generowany, gdy plik wejściowy lub strumień danych, który ma być zgodny z określoną specyfikacją formatu pliku, jest nieprawidłowo sformułowany. |
Informacja o pliku | Zapewnia właściwości i metody instancji do tworzenia, kopiowania, usuwania, przenoszenia i otwierania plików oraz pomaga w tworzeniu obiektów FileStream. |
FileLoadException | Wyjątek, który jest generowany, gdy zostanie znaleziony zestaw zarządzany, ale nie można go załadować. |
FileNotFoundException | Wyjątek, który jest generowany, gdy próba uzyskania dostępu do pliku, który nie istnieje na dysku, kończy się niepowodzeniem. |
FileStream | Udostępnia Stream wokół pliku, obsługując synchroniczne i asynchroniczne operacje odczytu i zapisu. |
FileSystemEventArgs | Zawiera dane dotyczące zdarzeń w katalogu - Zmienione, Utworzone, Usunięte. |
FileSystemInfo | Udostępnia klasę bazową dla obiektów FileInfo i DirectoryInfo. |
FileSystemWatcher | Nasłuchuje powiadomień o zmianach systemu plików i zgłasza zdarzenia, gdy katalog lub plik w katalogu ulegają zmianie. |
InternalBufferOverflowException | Wyjątek zgłaszany w przypadku przepełnienia buforu wewnętrznego. |
InvalidDataException | Wyjątek, który jest generowany, gdy strumień danych ma nieprawidłowy format. |
IODescriptionAttribute | Ustawia opis, który projektanci wizualni mogą wyświetlać podczas odwoływania się do zdarzenia, przedłużacza lub właściwości. |
IOException | Wyjątek, który jest generowany, gdy wystąpi błąd we / wy. |
MemoryStream | Tworzy strumień, którego magazynem zapasowym jest pamięć. |
Ścieżka | Wykonuje operacje na instancjach typu String, które zawierają informacje o ścieżce do pliku lub katalogu. Te operacje są wykonywane w sposób wieloplatformowy. |
PathTooLongException | Wyjątek, który jest generowany, gdy ścieżka lub nazwa pliku jest dłuższa niż maksymalna długość zdefiniowana przez system. |
PipeException | Zgłaszane, gdy wystąpi błąd w nazwanym potoku. |
RenamedEventArgs | Zawiera dane dla zdarzenia o zmienionej nazwie. |
Strumień | Zawiera ogólny widok sekwencji bajtów. To jest klasa abstrakcyjna. |
StreamReader | Implementuje TextReader, który odczytuje znaki ze strumienia bajtów w określonym kodowaniu. |
StreamWriter | Implementuje TextWriter do pisania znaków w strumieniu w określonym kodowaniu. Aby przeglądać kod źródłowy .NET Framework dla tego typu, zobacz źródło odniesienia. |
StringReader | Implementuje TextReader, który odczytuje ciąg. |
StringWriter | Implementuje TextWriter do zapisywania informacji w ciągu. Informacje są przechowywane w źródłowym StringBuilder. |
TextReader | Reprezentuje czytelnika, który może odczytać sekwencyjną serię znaków. |
TextWriter | Reprezentuje pisarza, który może pisać sekwencyjną serię znaków. Ta klasa jest abstrakcyjna. |
UnmanagedMemoryAccessor | Zapewnia losowy dostęp do niezarządzanych bloków pamięci z kodu zarządzanego. |
UnmanagedMemoryStream | Zapewnia dostęp do niezarządzanych bloków pamięci z kodu zarządzanego. |
WindowsRuntimeStorageExtensions | Zawiera metody rozszerzające dla interfejsów IStorageFile i IStorageFolder w środowisku wykonawczym systemu Windows podczas tworzenia aplikacji ze Sklepu Windows. |
WindowsRuntimeStreamExtensions | Zawiera metody rozszerzenia służące do konwertowania między strumieniami w środowisku wykonawczym systemu Windows i strumieniami zarządzanymi w aplikacji .NET for Windows Store. |
Przykład
Poniższy przykład tworzy plik o nazwie test.txt, zapisuje tam wiadomość, odczytuje tekst z pliku i drukuje go na konsoli.
Note - Ilość kodu potrzebnego do tego jest zaskakująco mniejsza!
open System.IO // Name spaces can be opened just as modules
File.WriteAllText("test.txt", "Hello There\n Welcome to:\n Tutorials Point")
let msg = File.ReadAllText("test.txt")
printfn "%s" msg
Kiedy kompilujesz i wykonujesz program, daje to następujące dane wyjściowe -
Hello There
Welcome to:
Tutorials Point