Aus Raspberry Pi Geek 06/2020

Programmiersprache Julia mit spannenden Funktionen (Seite 2)

Numerische Datentypen

Die Funktion typeof() liefert den Typ eines Werts. Die 32-Bit-Version von Julia interpretiert ganzzahlige Literale als 32-Bit-Zahlen, sofern sie in diesen Wertebereich hineinpassen. Die Funktionen typemin() und typemax() geben Auskunft über die Grenzen des Wertebereichs jedes numerischen Datentyps oder eines seiner Vertreter. Die letzte Zeile in Listing 4 zeigt, dass Julia einen Überlauf nicht abfängt.

Listing 4

julia> typeof(3.14)
Float64
julia> typeof(7)
Int32
julia> typemax(7)
2147483647
julia> typeof(2147483648)
Int64
julia> typemax(7) + 1
-2147483648

Andererseits gilt bei mathematischen Operationen mit Operanden unterschiedlichen Typs: Das Resultat ist immer vom Typ mit der höheren Genauigkeit beziehungsweise dem größeren Wertebereich (Listing 5).

Listing 5

julia> typeof(3 + 4.0)
Float64
julia> typeof(2147483648 + 1)
Int64

Für ganze Zahlen stehen Typen mit 8, 16, 32, 64 und 128 Bit bereit, jeweils mit oder ohne Vorzeichen. Vorzeichenlose Typen führen ein vorgestelltes U für “unsigned”, also etwa UInt8. Julia zeigt sie als hexadezimale Zahlen an (Listing 6). Für Gleitkommazahlen bietet Julia die Typen Float16, Float32 und Float64 an. Die Typen BigInt und BigFloat ermöglichen eine für den normalen Alltag praktisch unbegrenzte Genauigkeit.

Listing 6

julia> typemax(UInt8)
0xff
julia> typemax(UInt16)
0xffff

Variablen und Konstruktoren

Julia ist wie Python eine dynamisch typisierte Sprache; die explizite Angabe des Typs einer Variablen ist nicht notwendig. Die Programmiersprache folgert den Typ aus dem zugewiesenen Ausdruck. Im Beispiel aus Listing 7 unterdrückt ein Semikolon die Ausgabe von Zwischenergebnissen.

Listing 7

julia> a = 1;
julia> b = 2;
julia> c = a + b
3

Möchten Sie explizit mit einem bestimmten Datentyp rechnen, erzeugen Sie Werte per Aufruf mit dem Konstruktor. Diese Konstruktoren eignen sich in vielen Fällen zum Umwandeln von Datentypen (Listing 8).

Listing 8

julia> unsig = UInt8(1)
0x01
julia> sig = Int8(unsig)
1

Dateien ausführen

Dateien mit Julia-Code speichern Sie mit der Endung .jl ab. Das Ausführen geschieht dann über das Kommando julia code.jl im Terminal. In dem Fall müssen Sie – anders als im interaktiven Modus – Ausgaben explizit vorgeben, etwa mit print() oder println().

Auf weitere Argumente auf der Kommandozeile neben dem Pfad oder Dateinamen greifen Sie über das Array ARGS im Programm zu. Listing 9 zeigt Code, der mittels einer For-Schleife sämtliche Argumente zeilenweise ausgibt.

Listing 9

for arg in ARGS
  println(arg)
end
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben