Stosowanie operatorów
Zazwyczaj programy pobierają dane wejściowe. Dane wejściowe mogą pochodzić ze źródeł, takich jak żądania internetowe, pliki lub dane wejściowe użytkownika za pośrednictwem konsoli lub graficznego interfejsu użytkownika. Po pobraniu danych wejściowych do programu należy upewnić się, że jest w formacie, z którym program może pracować. Musisz również wiedzieć, jak operatory wykonują operacje i obliczenia na danych.
Odczytywanie danych wejściowych z konsoli
Aby odczytać z konsoli programu , możesz użyć metod znalezionych System w przestrzeni nazw. Chcesz użyć elementu podobnego Console.Readline()do . Ta metoda odczytuje wszystkie znaki do znaku nowego wiersza i umieszcza te znaki w ciągu. Oto przykład użycia tej metody.
System.Console.Write "Type a value:"
let str = System.Console.ReadLine()
printfn "You typed %s" str
Ten kod może działać dobrze, aby przechowywać dane wprowadzone przez użytkownika w zmiennej ciągu. Ale co się stanie, jeśli program musi pracować nad danymi wejściowymi użytkownika i chce traktować go jako liczbę lub jako wartość logiczną i używać go w operacji? W tym momencie musisz przekonwertować dane.
Konwertowanie między typami danych
Pokazano, jak język F# niejawnie wywnioskuje typ zmiennej, przypisując wartość do zmiennej w następujący sposób:
let myNumber = 3
Ale co zrobić, jeśli masz ciąg i chcesz przekonwertować go na int?
let myString = "3"
Istnieją dwa główne podejścia:
-
System.Int32.Parse(): Użyj funkcji działającejParse()na platformie .NET,Systemfunkcji w przestrzeni nazwSystem.Int32.Parse(). -
intWbudowane: istnieje wbudowanaintfunkcja, której można użyć.
Aby użyć pierwszego podejścia, napisz kod w następujący sposób:
let first = "32"
let numberVersion = System.Int32.Parse first
printfn "Number %i" numberVersion // Output: Number 32
Aby użyć wbudowanej int funkcji, wprowadź ją w następujący sposób:
let first = "32"
let numberVersion = int first
printfn "Number %i" numberVersion
Więc którego z nich używasz? Preferowana jest wersja z wbudowaną int funkcją.
Operatory
Wiesz już, jak odczytywać dane wejściowe z konsoli i zobaczyć, jak te dane wejściowe były przechowywane jako ciąg. Aby użyć jej w operacji, pokazano, jak można przekonwertować wartość z ciągu na int. Funkcje konwersji istnieją dla większości typów. Aby wykonać coś przydatnego w kodzie, musisz dowiedzieć się więcej o operatorach. Używając operatorów matematycznych, można dodawać, odejmować, dzielić itd. Podstawowe typy danych obsługują te operatory. Oto niektóre z najważniejszych operatorów.
| Obsługujący | opis |
|---|---|
| + | Dodaje dwie wartości |
| - | Odejmuje jedną wartość z innej |
| / | Dzieli wartość po lewej stronie z wartością po prawej stronie |
| % | Wywoływany modulus daje lewą stronę od dzielenia lewej wartości z właściwą wartością |
| <> | Sprawdza, czy dwie wartości nie są równe |
| = | Sprawdza, czy dwie wartości są równe |
Aby użyć operatora modulus, na przykład wprowadź:
let no = 10
let isDivisibleByTwo = no % 2 = 0
printfn "Divisible by two %b" isDivisibleByTwo