Anwenden von Operatoren

Abgeschlossen

In der Regel nehmen Programme Eingaben an. Die Eingabe kann aus Quellen wie Webanforderungen, Dateien oder Benutzereingaben an einer Konsole oder auf einer grafischen Benutzeroberfläche stammen. Nachdem Sie die Eingabedaten im Programm erfasst haben, müssen Sie sicherstellen, dass sie in einem Format vorliegen, mit dem Ihr Programm arbeiten kann. Ferner müssen Sie wissen, wie Operatoren Vorgänge und Berechnungen mit den Daten ausführen.

Lesen von Eingaben aus der Konsole

Zum Lesen aus der Konsole können Sie Methoden verwenden, die sich im System-Namespace befinden. Sie möchten etwas wie Console.Readline() verwenden. Diese Methode liest alle Zeichen bis zu einem Zeilenvorschubzeichen und platziert diese Zeichen in einer Zeichenfolge. Hier sehen Sie ein Beispiel für die Verwendung dieser Methode.

System.Console.Write "Type a value:"
let str = System.Console.ReadLine()
printfn "You typed %s" str

Dieser Code mag gut funktionieren, um die Eingabe eines Benutzers in einer Zeichenfolgenvariable zu speichern. Aber was geschieht, wenn Ihr Programm mit der Benutzereingabe arbeiten muss und sie als Zahl oder booleschen Wert behandeln und in einer Operation verwenden möchte? An diesem Punkt müssen Sie die Daten konvertieren.

Konvertieren zwischen Datentypen

Sie haben gesehen, wie F# den Typ einer Variablen implizit ableitet, wenn einer Variablen ein Wert zugewiesen wird, wie hier zu sehen:

let myNumber = 3

Aber was tun Sie, wenn Sie eine Zeichenfolge haben und sie in einen int konvertieren möchten?

let myString = "3"

Es gibt im Wesentlichen zwei Lösungsansätze:

  • System.Int32.Parse(): Verwenden Sie, was in .NET funktioniert, die Parse()-Funktion im Namespace System, System.Int32.Parse().
  • Integrierte int: Es gibt eine integrierte int-Funktion, die Sie verwenden können.

Wenn Sie den ersten Ansatz verwenden möchten, schreiben Sie Code wie hier:

let first = "32"
let numberVersion = System.Int32.Parse first 
printfn "Number %i" numberVersion // Output: Number 32

Um die integrierte int-Funktion zu verwenden, geben Sie ihn stattdessen wie folgt ein:

let first = "32"
let numberVersion =  int first 
printfn "Number %i" numberVersion

Für welche entscheiden Sie sich also? Die Version mit der integrierten int-Funktion wird bevorzugt.

Operatoren

Sie haben gelernt, wie Eingaben aus einer Konsole gelesen werden und haben gesehen, wie diese Eingabe als Zeichenfolge gespeichert wurde. Damit Sie sie in einem Vorgang verwenden können, haben Sie gelernt, wie Sie den Wert aus einer Zeichenfolge in einen int konvertieren können. Für die meisten Typen gibt es Konvertierungsfunktionen. Damit Sie mit Ihrem Code etwas Nützliches bewirken können, müssen Sie sich über Operatoren informieren. Mithilfe mathematischer Operatoren können Sie addieren, subtrahieren, dividieren usw. Die grundlegenden Datentypen unterstützen diese Operatoren. Hier sehen Sie einige der wichtigsten Operatoren.

Operator BESCHREIBUNG
+ Addiert zwei Werte
- Subtrahiert einen Wert von einem anderen
/ Dividiert den Wert auf der linken Seite durch den Wert auf der rechten Seite
% Wird als Modulus bezeichnet, gibt den Rest zurück, der bei der Division des linken Werts durch den rechten Wert entsteht.
<> Überprüft, ob zwei Werte ungleich sind
= Überprüft, ob zwei Werte gleich sind

Wenn Sie z  B. den Modulusoperator verwenden möchten, geben Sie Folgendes ein:

let no = 10
let isDivisibleByTwo = no % 2 = 0
printfn "Divisible by two %b" isDivisibleByTwo