Clause
← Gesamte Dokumentation

Übersetzt aus dem englischen Original · 06042fa · 2026-10-09 · Auf Englisch lesen

Term-Darstellungen

Zugelassene Arten: Atome/Booleans, beliebige Ganzzahlen, endliche binary64- Gleitkommazahlen, Tupel, echte/unechte Listen und Zeichenketten, Maps, Bitstrings und gewöhnliche Tupel-Records; native Records (native Records); Funs (Funktionswerte); lokale Pids, Ports und Referenzen (unten, Ports). Wortkodierungen stehen in abi.md.

Besitz

Atome

Ganzzahlen

Gleitkommazahlen

Tupel, Listen, Zeichenketten

Maps

Bitstrings

Records

Pids und Referenzen

Plan 11 step 42. self/0 gibt die Pid des aufrufenden Prozesses zurück, make_ref/0 eine neue Referenz; pid_to_list/1 und ref_to_list/1 geben ihren Text zurück.

Vergleich und Ordnung

Iterativ ohne Arbeitsgrenze, wie in OTP: Nur der Speicher für ausstehende Paare begrenzt einen Vergleich, Schlüsselsuchen in Maps eingeschlossen, und identische Wörter sind ohne Durchlauf gleich. Byteausgerichtete Bitstrings vergleichen ganze Bytes auf einmal. Ordnung: Zahlen < Atome < Referenzen < Funs < Pids < Tupel < native Records < Maps < nil < Listen < Bitstrings (für die Ordnung untereinander siehe Funs). Atome werden nach UTF-8-Schreibweise verglichen (Codepoint-Reihenfolge); Tupel nach Stelligkeit, dann Feldern; Maps nach Größe, dann Schlüsseln, dann Werten; Bitstrings nach logischen Bits.

Ausgabe

format_term (output.hpp) stellt jeden zugelassenen Term in einem von zwei OTP-Stilen dar. Ganzzahlen, Tupel (Records sind Tupel) und Verschachtelung sehen in beiden gleich aus.

~w (TermStyle::write)erlang:display/1 (TermStyle::display)
AtomeIn Anführungszeichen, außer ein Latin-1-Kleinbuchstabe steht am Anfang und Namenszeichen (mit @) folgen; reservierte Wörter und maybe/else stehen in Anführungszeichen; jenseits von Latin-1 als \x{H} maskiertIn Anführungszeichen, außer ein Latin-1-Kleinbuchstabe steht am Anfang und alphanumerische Zeichen oder _ folgen; für reservierte Wörter und @ gilt keine Sonderregel; UTF-8 bleibt erhalten
GleitkommazahlenKürzeste verlustfreie Darstellung im OTP-Layout: 0.1, 100.0, 1.0e16, 1.5e-7C %.6e: 1.500000e+00
ListenElemente: [104,105], [1,2|3]Eine flache Liste druckbarer Latin-1-Bytes wird als "hi" ausgegeben (rohe Bytes; nur \n und " maskiert)
Bitstrings<<1,2,5:3>>Ein druckbares ASCII-Binary wird als <<"hi">> ausgegeben, andere wie ~w
Maps#{k => v,k2 => v2}#{k=>v,k2=>v2}