Numlex Dokumentation
Syntaxreferenz
Problem melden

Blattsprache

Wie ein Blatt geschrieben und ausgewertet wird: Notation, Zeilenformen, Namen, strenge gegenüber stillen Zeilen und der total-Befehl.

Ein Numlex-Blatt ist ein Stapel logischer Zeilen. Du tippst eine gewöhnliche Zeile Notizbuchtext, und in der Antwortspalte daneben erscheint ein geprüftes Ergebnis.

Diese Seite ist der formale Einstieg in die Blattsprache: die in der ganzen Referenz genutzte Notation, jede Form, die eine Zeile annehmen kann, die Regeln für Namen und Zuweisungen, der Unterschied zwischen strengen Zeilen und stiller Prosa und der integrierte total-Befehl.

Notation

Die Referenz nutzt wenige Platzhalter:

PlatzhalterBedeutung
<expr>jeder arithmetische Ausdruck
<value>ein numerischer Wert
<unit>eine Einheit oder ein Ausdruck über Einheiten
<place>freier Ortsname (bis 100 Zeichen)
<Answer Token>ein eingefügtes Antwort-Token (U+FFFC-Marker)

Syntaxwörter sind englisch. Wo vermerkt, sind sie schreibunabhängig — OF wirkt wie of, Per Day wie per day. Oberflächensprache und regionales Zahlenformat sind unabhängige Einstellungen: Lokalisierung ändert nie die Syntax selbst.

Eine Zeile, ein Ergebnis

Jede logische Zeile erzeugt ein Ergebnis in der rechten Spalte. Zeilen werden von oben nach unten ausgewertet, und ein in einer Zeile deklarierter Name ist für die Zeilen darunter sichtbar.

Zeilenformen

FormBeispielVerhalten
Leere ZeileKein Ergebnis.
Überschrift# Payroll sheetVisuelle Überschrift; wird bei Berechnungen übersprungen.
Kommentar// week totalÜberspringbare Überschrift-/Kommentarzeile: kein Ergebnis, nie Teil einer Berechnung (keine Zuweisung, kein „Blattname”).
BezeichnungTotal:Eine mit Doppelpunkt endende Zeile ist eine Bezeichnung/Trennung; sie wird als Übersprung ausgewertet.
Benannter Wertbase pay = 4500<name> = <expr>: Der Name besteht aus 1–6 ASCII-Wörtern (oder einem Token-Wort), ≤ 40 Zeichen, das erste Wort beginnt mit einem Buchstaben und der Name enthält keine Operatoren. Der Wert ist veränderlich — eine spätere <name> = <expr>-Zeile überschreibt ihn für die Zeilen darunter.
Integrierte SummetotalBefehl (schreibunabhängig), der die zulässigen Zeilen des aktuellen Abschnitts summiert — siehe den total-Befehl.
Numerischer Ausdruck12 + 30 × 2Siehe Operatoren & Logik.
Prozent & Geld15% of 490, $24 per daySiehe Prozente und Geld & Kurse.
Einheiten10 km to m, 90 km per 3 daySiehe Einheiten & Mengen.
Ganzzahlbasen0x1F, 255 as hexSiehe Zahlen & Ganzzahlbasen.
DatenMay 5 + 3 weeksSiehe Daten.
Netzwerkweather in London, distance between …Siehe Live-Daten & Geografie.
Gewöhnlicher Textbought cableStill: kein Ergebnis. Der einzige Alt-Rückgriff — in numerischen Zeilen werden unbekannte lateinische Wörter gestrichen (5 apples + 3 → 8). Prosa ohne Zahlen und Wörter anderer Alphabete werden nie ausgewertet.

Strenge Zeilen und stille Prosa

Die meisten Zeilen dürfen gewöhnlicher Text sein: Kann Numlex keine Berechnung lesen, bleibt die Zeile einfach still. Drei Zeilenarten sind dagegen streng — ihre Form beansprucht die Zeile vollständig, und ein fehlgeschlagenes Parsen ist ein Fehler statt eines Rückgriffs:

  • Geldzeilen. Eine Zeile mit Währungsmarker ($, €, 100 USD …) muss vollständig als Geldausdruck geparst werden; sonst ist sie ein verborgener Fehler, und nichts wird geraten.
  • Datumsförmige Zeilen. May 5 + 43 (ohne Dauerwort) ist ein Fehler — nie zu gewöhnlichen Zahlen „reduziert”.
  • Aufrufförmige Zeilen. Eine Zeile in Funktionsaufrufform (name() ist streng: Ein unbekannter Funktionsname ist ein Fehler, keine Klammergruppe.

Alles andere bleibt still — einschließlich gewöhnlicher Prosa, die nie markiert wird.

Namen und Zuweisungen

  • Deklariere einen Wert mit name = expression; der Name steht danach in allen Zeilen darunter für diesen Wert.
  • Namen sind 1–6 ASCII-Wörter, höchstens 40 Zeichen, das erste Wort beginnt mit einem Buchstaben, innen keine Operatoren.
  • Zuweisungen sind veränderlich: Derselbe Name überschreibt den Wert von dieser Stelle abwärts.
  • Auch Geldwerte lassen sich benennen — deklariere lunch = $45 und schreibe später 2 people × lunch (siehe Geld & Kurse).
  • Blattnamen sind von Einstellungs-Konstanten getrennt; das Konstantenkonzept ist unter Eigene Einheiten & Konstanten dokumentiert.

Der total-Befehl

Der genaue Befehl ist eine Zeile, deren gesamter Inhalt total ist (schreibunabhängig). Er wertet die Summe der zulässigen Ergebnisse des aktuellen Abschnitts — seit Blattbeginn oder seit dem nächsten vorherigen total, einer #-Überschrift oder einem exakten ----Trenner.

  • total-Zeilen zählen sich nicht gegenseitig: Eine bereits berechnete Summe ist nicht Teil der nächsten. Ein gewöhnlicher Verweis auf eine Summenzeile ist jedoch eine gewöhnliche Zeile und wird einbezogen.
  • Zulässig: endliche skalare Zahlen — einschließlich der Anzeigearten Prozent und Multiplikator, benannter Skalare und exakter Ganzzahlen (exakt für |v| ≤ 2^53).
  • Nicht zulässig: Geld, Mengen mit Einheiten, boolesche Werte, Daten, Fehler, leere/bezeichnete Zeilen und abgeleitete Aggregatzeilen.
  • Beschattung: Ein aktiver benannter Wert oder eine Konstante namens total deaktiviert den Befehl — die Zeile wird ein gewöhnlicher benannter Wert.
  • Die total-Zeile ist eine Abschnittssumme innerhalb des Blatts. Sie unterscheidet sich von der unteren Total-Leiste der App, die das ganze Blatt unabhängig von Abschnitten summiert, sowie von den Befehlen subtotal / grand total — siehe Tags, Zwischensummen & Statistik.

Weiterführend

Einen Fehler in dieser Dokumentation gefunden? Auf GitHub melden