Stosowanie operatorów

Ukończone

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ącej Parse() na platformie .NET, System funkcji w przestrzeni nazw System.Int32.Parse().
  • intWbudowane: istnieje wbudowana int funkcja, 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