Wikipedia:Lua/Modul/Sort/cellNum/de
Vorlagenprogrammierung | Diskussionen | Lua | Test | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Sort/cellNum
– Modul zum Generieren von sortierbaren Zahlenwerten in Tabellen und zur gehobenen Zahlenformatierung.
Funktionen für Vorlagen
Bearbeiten- f
- Formatieren.
- Parameter einer umgebenden Vorlageneinbindung:
- keine
- Parameter des
#invoke
– alle optional:- n
- (Basis-)Zahl (Mantisse)
- Typografisches Minuszeichen zulässig.
- Punkt
.
als Dezimaltrennzeichen zulässig, aber auch Komma,
der deutschen Notation. - Das maschinenlesbare Format
1.234E56
für Exponentialdarstellung zur Basis 10 ist ebenfalls möglich; löst Präsentation in Exponentialdarstellung aus. - Tausendertrennzeichen nicht empfehlenswert, weil
1.234
nicht zweifelsfrei zugeordnet werden könnte; Einskommazwei oder Tausendzweihundert? Wird im Zweifelsfall als internationalisierte Angabe interpretiert. - Ziffern aus zahlreichen nichtwestlichen Schriften, die auf
0
bis9
abgebildet werden können, sind möglich und führen zu einer adäquaten Sortierung gemischt mit westlichen Ziffern. - Vorgabe:
0
- exp
- Exponent (Zehner)
- Ganze Zahl erwartet.
- Typografisches Minuszeichen zulässig.
- Löst Exponentialdarstellung aus.
- suffix
- Nichtnumerisches direktes Anhängsel an die Basiszahl
- pre
- Kurzes Präfix
- Wird ohne Zeilenumbruch mit dem Zahlenwert verbunden; normaler Weißraum.
- plus
- Positive Werte (einschließlich Null) mit vorangestelltem Pluszeichen präsentieren
- post
- Kurzes Postfix
- Wird ohne Zeilenumbruch mit dem Zahlenwert verbunden; normaler Weißraum.
- pad
- Versuch einer links- oder rechtsbündigen Ausrichtung von Dezimaltrennern
- Positive ganze Zahl: Anzahl von Nachkommastellen, auf die rechtsbündig ausgerichtet werden soll.
- Negative ganze Zahl: Anzahl von Stellen vor dem Komma, auf die linksbündig ausgerichtet werden soll.
- cell
- Wenn
1
dann notwendige Tabellensyntax für sortierbare Werte voranstellen. - Sonst
<span>
bilden, falls erforderlich. - rowspan
- Tabellen-Attribut: Anzahl der Zeilen
- Nur bei
cell=1
wirksam. - colspan
- Tabellen-Attribut: Anzahl der Spalten
- Nur bei
cell=1
wirksam. - class
- Universal-Attribut: Leerzeichen-getrennte Liste von Klassenbezeichnern
- style
- Universal-Attribut: CSS-Deklaration
- URL sowie Anführungszeichen
"
sind unzulässig. - id
- Universal-Attribut: Fragmentbezeichner
- cssNum
- Seitenbezeichner einer TemplateStyles-Seite, für allgemeine Formatierung
- cssNumExp
- Seitenbezeichner einer TemplateStyles-Seite, für wissenschaftliche Formatierung
- cat
- Titel einer Wartungskategorie im Fehlerfall
- Rückgabewert: Wikitext.
- Bei nicht entschlüsselbarer Eingabe erfolgt eine Fehlermeldung.
- furnish
- Wikitext mit Auflistung bekannter Schlüsselwörter
- failsafe
-
- Versionsbezeichnung (lokal):
2024-06-01
- Optionaler Zusatzparameter:
1
– Mindestversionsbezeichnung oderwikidata
oder~
{{#invoke:Sort/cellNum|failsafe}}
ergibt2024-09-19
- Mit Angabe eines Parameters als Datum im ISO-Format wird verglichen, ob das aktuelle Modul diese Version oder später erfüllt.
{{#invoke:Sort/cellNum|failsafe|2001-01-01}}
ergibt: »2024-09-19
«{{#invoke:Sort/cellNum|failsafe|2099-01-01}}
ergibt: »« – leer, falls Mindestversionsbezeichnung nicht erfüllt
- Ist dieser Zusatzparameter das Schlüsselwort
wikidata
, so ist der Wert die auf Wikidata registrierte Versionsbezeichnung (2024-06-01
) oder lokal, falls dort keine gefunden.- Ist der Zusatzparameter das Zeichen
~
, so ist das Ergebnis leer, falls Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung besteht (2024-06-01
).
- Ist der Zusatzparameter das Zeichen
- Versionsbezeichnung (lokal):
- Rückgabewert:
- Leer, falls Mindestversionsbezeichnung nicht erfüllt, oder Übereinstimmung mit Wikidata
- Versionsbezeichnung (auf Wikidata registriert:
2024-06-01
) beiwikidata
, oder lokal falls dort keine gefunden, bzw. leer wenn synchronisiert
Darstellung, Formate, Besonderheiten
Bearbeiten- Darstellung
-
- Immer typografisches Minuszeichen.
- Immer Komma als Dezimaltrenner.
- Immer Punkt zur Tausendertrennung.
- Der Multiplikationspunkt zwischen Mantisse und 10 wird gut erkennbar dargestellt.
- Parameterformat
-
- Sowohl einfaches ASCII- wie auch typografisches Minuszeichen möglich.
- Komma oder Punkt als Dezimaltrenner möglich.
- Ein Syntaxfehler im Eingabewert (etwa Bis-Strich statt Minuszeichen, oder Buchstabe „O“ statt Ziffer Null) wird markiert.
- Sortierung
-
- Vorangestellte Zeichen oder typografisches Minuszeichen stören nicht die Sortierung.
- Zellen mit einfachen Zahlen können kombiniert werden, und mit den anderen Vorlagen der Familie.
- Padding
-
- Es wird eine integrierte Ausrichtung des Dezimaltrenners versucht.
- Dabei wird für alle Zellen in der Spalte der gleiche Positionswert vorgegeben, und in jeder Zelle anhand des momentanen Zahlenwerts daraus der vermutlich freizulassende Weißraum ermittelt.
- Copy & Paste
- Beim Copy & Paste einzelner Zahlen oder auch ganzer Tabellen wird die deutsche typografische optische Darstellung ersetzt durch das computergerechte internationale Datenformat, wodurch die Werte einfach in andere Vorlagen oder externe Berechnungsprogramme eingefügt werden können:
- ASCII-Bindestrich-Minus statt typografischem Minuszeichen
- Punkt als Dezimaltrenner
- Keine Tausendertrennung
- Statt des Konstrukts
×10
wird der BuchstabeE
kopiert, wodurch sich ein gängiges maschinenlesbares und in Programmiersprachen übliches Format ergibt.
Schlüsselwörter (adverbial)
BearbeitenDie nachstehenden Schlüsselwörter werden erkannt und bei ungenauen Angaben ausgewertet:
- ≥
- <
- ±
- >
- ≈
- ≤
- gut
- ca.
- ungefähr
- fast
- unter
- rund
- ungef.
- mehr als
- beinahe
- um
- weniger als
- bei
- nahe
- zirka
- über
- reichlich
- etwa
- circa
- nahezu
- knapp
Verwendung
Bearbeiten- Vorlage:ZahlZelle
- Vorlage:ZahlExp
- Vorlage:ZahlExpZelle
- Beliebige datengenerierende Module
Funktionen für Lua-Module
BearbeitenDie Funktionen für Vorlagen sind geeignet erreichbar. Zur prinzipiellen Funktionalität siehe jeweils dort.
Einbindung über require()
:
local lucky, Sort = pcall( require, "Module:Sort/cellNum" )
if type( Sort ) == "table" then
Sort = Sort.Sort()
else
-- Fehlerfall; Sort enthält Fehlermeldung
return "<span class='error'>" .. Sort .. "</span>"
end
- Sort.f( arglist )
-
- arglist – table mit Parametern; wie für f – Komponenten, alle string werden getrimmt:
- n – number|string; geparsed wie in Vorlage
- exp – number|string; geparsed wie in Vorlage
- suffix – string
- pre – string
- plus – boolean|string
- string – geparsed wie in Vorlage;
1
→true
- string – geparsed wie in Vorlage;
- post – string
- pad – number|string
- cell – string|boolean|table
- string – geparsed wie in Vorlage;
1
→true
- table –
mw.html
-Objekt, das attribuiert und mit content versehen wird.
- string – geparsed wie in Vorlage;
- rowspan – string|number
- colspan – string|number
- class – string
- style – string|table, Text-Code oder Mapping
- id – string
- cssNum – string|title
- cssNumExp – string|title
- lang – string
- dir – string
- cat – string|title|table
- frame – object mit dem
frame
, falls zur Hand; sonstnil
- arglist – table mit Parametern; wie für f – Komponenten, alle string werden getrimmt:
- Rückgabewert: string mit Wikitext, oder Attribuierung des
cell
-Objekts - Sort.failsafe( atleast )
-
- atleast
- optional
- nil oder Mindestversion oder
"wikidata"
oder~
für Synchronisation
- Rückgabewert: Boolesch oder Zeichenkette
Abhängigkeiten
Bearbeiten- Sort/cell – Bibliothek mit Grundfunktionen für Tabellenattribute
Internationalisierung
BearbeitenZur Anpassung an fremde Wikis und deren Zahlenschreibweise siehe die englischsprachige Version dieser Seite.