Funktionsglossar — alle std-Funktionen alphabetisch
Jede öffentliche Funktion der Standardbibliothek, nach Namen sortiert, mit Signatur und der Unit, in der sie steht. 7128 Funktionen aus 433 Units — der Bestand von std, ohne Umweg über die Unit-Seiten.
Wofür das gut ist: Man hat einen Funktionsnamen aus fremdem Code, einer Fehlermeldung oder einem Beispiel und will wissen, wo er herkommt und wie er aufgerufen wird. Die Unit-Seiten beantworten die umgekehrte Frage — was kann diese Unit — und stehen dahinter verlinkt.
→ Unit-Verzeichnis · Sprachsyntax · Glossar von vorn
Nach Anfangsbuchstaben
| Buchstabe | Funktionen |
|---|---|
| Sonstige | 43 |
| A | 632 |
| B | 283 |
| C | 335 |
| D | 416 |
| E | 378 |
| F | 223 |
| G | 466 |
| H | 160 |
| I | 276 |
| J | 22 |
| K | 86 |
| L | 223 |
| M | 361 |
| N | 99 |
| O | 43 |
| P | 804 |
| Q | 300 |
| R | 322 |
| S | 822 |
| T | 230 |
| U | 204 |
| V | 219 |
| W | 93 |
| X | 25 |
| Y | 2 |
| Z | 79 |
# · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
Builtins — die Namen, die hier nicht stehen
Ein Teil der meistbenutzten Namen taucht im Glossar nicht auf, weil sie keine Unit-Funktionen sind, sondern Builtins: der Übersetzer erzeugt den Code direkt, es gibt keinen pub fn dazu und keinen Import. Wer PrintLn im Glossar sucht, findet nichts — deshalb steht die Liste hier:
EPrintEPrintLnEPrintStrEPrintStrLnExitfCeilfFloorFileReadAllfRoundGetArgGetArgCGetArgVGetEnvBlockIntToStrpanicPrintfPrintFloatPrintIntPrintLnPrintStrRandomRandomSeedStrConcatStrCopyStrEqStrEqualsStrFromIntStrLenStrLengthStrStartsWithStrSub
Die vollständige Belegung führt der Compiler in src/backend/_builtin_ids.md; die Liste oben ist der Teil, den man beim Programmieren tatsächlich schreibt. Nicht aufgeführt sind die sys_*-Builtins (direkte Syscall-Abbildungen, vor allem für LyxOS) und die Speicherbarrieren.
Fünf Namen gibt es doppelt — als Builtin und als Unit-Funktion:FloatToStr(auch instd.io),StrFindundStrTrim(auch instd.string),FileSize(auch instd.fsundstd.fs_ext). Ohne Import greift das Builtin; mit Import entscheidet der Übersetzer zugunsten der Unit-Funktion. Bei diesen fünf lohnt der Blick auf die Unit-Seite, weil die Signaturen nicht zwingend gleich sind.
Genau diese Doppelung hat außerdem eine Lücke in der Stelligkeitsprüfung: ein Name, den es als Builtin und alspub fngibt, entkommt beiden Prüfungen —PrintLn("a", "b")wird übersetzt, obwohlPrintLnein Argument nimmt (#2012, offen).
Was in diesem Glossar steht — und was nicht
- Aufgenommen ist, was mit
pub fnaus einer Unit herausgeführt wird. Alles Interne fehlt, und das mit Absicht: was nichtpubist, darf sich ändern. - Die Signatur steht so da, wie sie im Quelltext steht. Bei mehrzeiligen Signaturen sind die Zeilen zusammengezogen.
- Ein Name kann mehrfach vorkommen.
SqrtF64etwa steht instd.mathund noch einmal instd.ml;IsValidgibt es in vier Units. Beim Import entscheidet, welche Unit eingebunden ist. - Die Unit-Spalte verweist auf die Doku-Seite der Unit, sofern es eine gibt. Für die Untermodule von
std.cloud.digitaloceanund die Unicode-Datentabellen führt der Verweis auf keine eigene Seite — die stehen als reiner Text da. - Beschreibungen stehen bewusst nicht hier, sondern auf den Unit-Seiten. Ein Glossar mit 7146 Kurztexten wäre weder pflegbar noch lesbar; die Seite beantwortet die Frage wo, nicht die Frage wie.
Erzeugt aus dem Quelltext, nicht von Hand gepflegt. Grundlage ist der Bestand allerpub fninstd. Fehlt eine Funktion hier, fehlt sie auch dort — oder sie ist nicht öffentlich.
Die Buchstabenseiten entstehen ausglossar-bauen.pyim Doku-Projekt. Kommen neue Funktionen oder Units hinzu, wird das Glossar im selben Arbeitsgang mitgezogen — ein Glossar, das dem Bestand hinterherhinkt, ist schlechter als keines, weil es Vollständigkeit behauptet.
