Verse ist eine neue Programmiersprache. Bist du also ein erfahrener Programmierer und siehst etwas, das du nicht vollständig verstehst, dann schaue in diesem Glossar nach.
Bist du im Programmieren ein Anfänger, ist dieses Glossar auch für dich bestimmt. Wir haben Definitionen für viele Standard-Programmierbegriffe hinzugefügt, und vielleicht findest du hier genau die Antworten, die du brauchst!
- Abfrage
Abfrageausdrücke verwenden den Operator
?, um zu prüfen, ob ein logischer oder optionaler Werttrueist.- abgebrochen
- abgeschlossen
Der Zustand einer Aufgabe, die bis zum Abschluss durchlaufen wurde.
- Abhängigkeit
Abhängigkeit bedeutet, dass ein Modul für einige Funktionen von anderen Modulen abhängt.
- Abonnieren
Durch das Abonnieren kannst du festlegen, welche Funktion aufgerufen wird, wenn ein Event ausgelöst wird. Dies wird als Bindung an ein Event bezeichnet. Die gebundene Funktion wird als Handler bezeichnet
- Abruf
Abrufen bezieht sich auf das aktive Abtasten des Status eines externen Geräts durch ein Client-Programm als synchrone Aktivität. Ein Abruf wird am häufigsten in Bezug auf Eingabe/Ausgabe (E/A) verwendet und wird auch als abgefragte E/A oder softwaregesteuerte E/A bezeichnet.
- Abstrakte Klasse
Wenn eine Klasse oder eine Klassenmethode über den Abstract-Bezeichner verfügt, kannst du keine Instanz der Klasse erstellen. Eine abstrakte Klasse soll als Superklasse verwendet werden, in der einige Mitglieder implementiert oder festgelegt sind, aber nicht alle. Dies wird auch als Basisklasse bezeichnet.
- Abstraktion
Ein Programmierprinzip, bei dem unnötige Details vor einem Benutzer verborgen werden, wobei der Benutzer die verborgenen Komplexitäten nicht verstehen muss. Du kannst beispielsweise Geld in einen Verkaufsautomaten stecken und ein Leckerli herausholen, ohne zu verstehen, wie die Mechanik funktioniert.
- Agent
Ein Agent kann entweder einen Spieler oder einen Nicht-Spieler-Charakter (NPC) darstellen.
- Algorithmus
Ein Algorithmus ist eine Abfolge von Anweisungen, die geschrieben wurden, um ein Problem zu lösen oder eine Aufgabe zu erfüllen. Stelle es dir wie ein Rezept für ein Gericht vor. Schreibst du Code, der ein Problem löst oder eine Aufgabe erfüllt, ist dieser Code dein Algorithmus.
- alternative Ganzzahlen
Siehe Hexadezimal.
- analysieren
Analysieren bedeutet in der Informatik, dass eine Reihe von Befehlen – normalerweise ein Programm – in einfacher zu verarbeitende Komponenten getrennt wird, die auf korrekte Syntax analysiert und dann an Tags angehängt werden, die jede Komponente definieren.
- Anweisung
Eigenständiger Befehl, der keinen resultierenden Wert hat. Verse verwendet keine Anweisungen. Stattdessen werden Ausdrücke verwendet.
- API
Ein Akronym für Application Programming Interface. Dies sind Bibliotheken, die im Allgemeinen in Gruppen von aufrufbaren Funktionen, Typen und Datenstrukturen gruppiert sind, die es Nutzern ermöglichen, auf Unreal- und Fortnite-Systeme zuzugreifen und mit ihnen zu interagieren.
- Archetyp
Ein Archetyp ist eine Instanz einer Klasse, die vollständig definiert ist und über Werte für ihre Felder in einer Klasse verfügt.
- Archetyp-Instanziierung
Der Prozess der Erstellung eines Archetyps. Vergleichbar mit einem Constructor, der auch Logik oder andere Funktionen ausführen kann.
- Argument
Der Wert, der einem Parameter in einer Funktionssignatur zugewiesen ist und von einem Funktionsaufruf zugeordnet wird.
- asynchron
Die Auswertung eines asynchronen Ausdrucks kann Zeit in Anspruch nehmen, muss es aber nicht. Ein asynchroner Ausdruck kann in der aktuellen Simulationsaktualisierung oder in einer späteren abgeschlossen werden oder auch nicht. Asynchrone Funktionen, die mit dem Bezeichner
suspendsidentifiziert werden, werden auch als Coroutinen bezeichnet. Asynchrone Ausdrücke stehen sofortigen Ausdrücken gegenüber.- asynchroner Kontext
Der Bereich, für den ein asynchronen Ausdruck wie ein Coroutinen-Aufruf zulässig ist.
- atomar
Eine einzelne, vollständige Codeeinheit, die entweder vollständig ausgeführt wird oder vollständig fehlschlägt, ohne Unterbrechung oder Beobachtung durch anderen Code. Atomarer Code kann nicht unterbrochen werden. Alle benachbarten, sofortigen, nicht asynchronenAusdrücke werden als atomar betrachtet – ihr Code wird garantiert ohne Unterbrechung mit demselben Update und ohne Aussetzen oder Kontextwechsel ausgeführt.
- aufrufen
Siehe Aufruf.
- Aufrufzeit
Die Zeit, die ein Ausdruck benötigt, um ausgewertet zu werden. Ein sofortiger Aufruf nimmt praktisch keine Zeit in Anspruch. Ein asynchroner Ausdruck kann sofort abgeschlossen werden oder latent sein.
- Ausdruck
Ein Ausdruck ist die kleinste Codeeinheit (eine Kombination aus Werten und Funktionen), die bei der Auswertung ein Ergebnis hat.
das folgende Beispiel ist ein
if ... ... else-Ausdruck, d. h. wenn der Wert ein benanntes Kriterium erfüllt, handelt es sich um eine Sache, andernfalls handelt es sich um etwas anderes.Verseif (a > 5): “Big!” else “Small!”In Verse ist alles ein Ausdruck, von Literalen bis zu Funktionsaufrufen oder Ablaufsteuerung.
Im Vergleich dazu ist eine Anweisung ein eigenständiger Befehl, der keinen resultierenden Wert hat. In Verse ist alles ein Ausdruck, und es gibt keinen Unterschied zwischen Aussagen und Ausdrücken, die zu einem Wert ausgewertet werden können.
Weitere Informationen findest du unter Ausdrücke.
- ausführen
Ein Programm ausführen.
- Ausführlichkeit
Einstellung zum Begrenzen, wie viele zusätzliche Informationen angezeigt werden, wenn ein Protokoll generiert wird.
- Ausführung
Der Prozess eines Computers, der ein Programm interpretiert und die Anweisungen dieses Programms ausführt.
- Auslösen
Wenn eine Funktion ein Signal aussendet, löst sie ein Event aus. Die Beteiligten werden benachrichtigt, dass ein Event eingetreten ist, z. B. die Betätigung einer Schaltfläche, und alle Event-Handler werden aufgerufen.
- Ausschnitt
Siehe Codeschnipsel.
- auswerten
Auszuwerten bedeutet, einen Ausdruck auszuführen, um einen Wert zu erzeugen.
- Auswirkung
Ein Effekt ist eine Verhaltenskategorie, die eine Funktion aufweisen kann.
Im nachstehenden Beispiel sagt der Code, dass eine Funktion den Namen
IsCriticalHealthhat und einen Ganzzahl-Wert als Input durch denHealth-Parameter übernimmt. Als Nächstes sagt er, dass die Effekte, die die Funktion aufweist,decidesundtransactssind, was bedeutet, dass die Funktion ein Fehlerkontext ist und ihre Maßnahmen zurückgenommen werden können, wenn die Funktion fehlschlägt. Wenn der als Input an die Funktion übergebeneHealth-Wert größer als 0,0 und kleiner oder gleich 30,0 ist, ist die Funktion erfolgreich. Andernfalls schlägt die Funktion fehl, und der Kontext, der die Funktion aufgerufen hat, muss den Fehler verarbeiten.VerseIsCriticalHealth(Health : float)<decides><transacts> : void = ((Health > 0.0) && (Health <= 30.0))Weitere Informationen dazu findest du unter Bezeichner und Attribute.
- Außerkraftsetzen
In Verse können Felder einer Superklasse außer Kraft gesetzt werden, und ihnen können Anfangswerte zugewiesen werden. Beispiel:
Versetank := class(player_character): StartingShields<override> : int = 100 MaxShields<override> : int = 200 AllowOvershield<override> : logic = true DamageReduction : int = 50 CreateTankPlayerCharacter() : tank = return tank{}Die Tank-Klasse hat Werte für
StartingShields,MaxShieldsundAllowOvershield, die von den Klassen-Standardwerten abweichen.Du kannst auf diese Weise auch Werte für Methoden außer Kraft setzen.
Mehr dazu findest du unter Subklasse.
- base-16
Hexadezimal (von hexa-, d. h. sechs, und dezimal, d. h. zehn) oder Basis-16 (häufig abgekürzt zu hex) ist ein Zahlensystem, das 16 Symbole anstelle der bekannteren 10 Symbole der Basis-10 verwendet.
- Basisklasse
Eine Klasse, von der andere Klassen abgeleitet werden. Eine Klasse, die von einer Basisklasse erbt, verfügt über alle Mitglieder und Mitgliedsfunktionen und kann zusätzliche Eigenschaften haben, die nicht in der Basisklasse enthalten sind. Eine Basisklasse wird auch als Parent-Klasse oder Superklasse bezeichnet.
- bedingt
Ein Ausdruck, der eine Bedingung auswertet und Anweisungen basierend auf dem Ergebnis der Bedingung ausführt. Ein Beispiel für eine Bedingung ist ein
if-Ausdruck.- Bedingung
Eine Bedingung kann das Programm auf True oder False überprüfen. Ein bedingter Ausdruck kann die Bedingung auswerten und als Ergebnis True oder False zurückgeben.
- berechnet
Dieser Effekt gibt an, dass eine Funktion denselben Output zurückgibt, wenn wiederholt derselbe Input präsentiert wird.
- Bereich
Bereich bezieht sich auf den Teil des Programms, in dem die Zuordnung eines Namens zu einem Wert gültig ist und in dem dieser Name verwendet werden kann, um auf den Wert zu verweisen. Beispielsweise existieren alle Konstanten oder Variablen, die du innerhalb einer Funktion erstellst, nur im Kontext der Funktion. Das bedeutet, dass die Lebenszeit von Objekten auf den Bereich beschränkt ist, in dem sie erstellt wurden, und nicht außerhalb dieses Codeblocks verwendet werden kann.
- beschränkt
Wenn ein Ausdruck beschränkt ist, hat er festgelegte Grenzen.
- Bezeichner
Ein Bezeichner wendet zusätzliche Informationen auf eine Definition an. Beispiel: Der
decides-Effektbezeichner bei der Definition einer Funktion markiert die Funktion als fehlbar.Bezeichner fallen in eine von zwei Unterkategorien: Zugriffsbezeichner und Effektbezeichner.
- bidirektional
Dies funktioniert in zwei Richtungen.
- binden
- Bindung
In der Computerprogrammierung bedeutet binden, für eine bestimmte Zeit eine Verbindung zwischen zwei oder mehr Programmierungsobjekten herzustellen.
In Fortnite ist Bindung das Zuordnen einer Funktion zu einem Event.
In Verse bedeutet Binden, dass für eine bestimmte Zeit eine Verbindung zwischen zwei oder mehr Programmierungsobjekten hergestellt wird. Verbindest du beispielsweise eine Funktion mit dem Event
InteractedWithEventeines Knopfs, bedeutet dies, dass jedes Mal, wenn ein Spieler mit diesem Knopf interagiert, die verknüpfte Funktion aufgerufen wird. Das kann sich auf die Zuordnung einer Variable zu einem Wert oder Objekt beziehen oder die Zuordnung eines Handlers zu einem Event.- Blockausdruck
Ein Blockausdruck ist eine Methode, Ausdrücke in einem einzelnen Ausdruck zu gruppieren oder einen Codeblock zu verschachteln. Blockausdrücke verhalten sich ähnlich wie Codeblöcke.
- Boden
Eine mathematische Operation, die einen rationalen Wert auf die nächste Ganzzahl abrundet. Siehe auch
Ceil.- Boolesche Logik
Ein logisches System, bei dem der ausgedrückte Wert entweder True oder False ist, und das häufig verwendet wird, um die Flusssteuerung in Programmiersprachen zu bestimmen. Diese ist nach George Boole (1815–1864) benannt, einem Mathematiker, der maßgeblich zu den Bereichen Logik und Algebra beigetragen hat.
In Verse ist dies der Typ, mit dem True und False als
Logikdargestellt werden. Diese Boolesche Logik wird durch fehlbare Ausdrücke in Fehlerkontexten ausgeführt.- Boolescher Wert
Siehe Boolesche Logik.
- break
Ein Ausdruck, der aus der aktuellen
Schleife„ausbricht“ und den nächsten Ausdruck nach dem Schleifenausdruck ausführt. Weitere Informationen findest du unter Schleife und Pause.- Bug
Beim Fortnite-Kreativmodus und bei UEFN: ein Fehlerhaftes oder unerwartetes Verhalten in einem Programm.
Bei Verse ist ein Bug ein Fehler in einem Computerprogramm, der dazu führt, dass es ein falsches oder unerwartetes Ergebnis erzeugt. Bugs treten zur Laufzeit auf, im Gegensatz zu Compiler-Fehlern), die während der Verse-Kompilierung auftreten. Der Prozess des Identifizierens und Behebens von Bugs wird als Debugging bezeichnet.
- C++
Eine beliebte Programmiersprache, die in vielen verschiedenen Anwendungen verwendet wird, insbesondere in Spiel-Engines wie der Unreal Engine.
- Cache
Speichermethode zum Beschleunigen des Datenzugriffs.
- Caller
- Callstack
Der Callstack ist das, was ein Programm verwendet, um Aufrufe zu verfolgen – welche Funktionen ausgeführt werden, welche beendet sind und welche noch anstehen.
- Case-Ausdruck
Ein Case-Ausdruck kann den Ablauf eines Programms aus einer Liste von Optionen steuern. Weitere Informationen findest du unter Fall.
- CI/CD
CI/CD ist Continuous Integration und entweder Continuous Delivery oder Continuous Deployment. CI/CD verbindet Entwicklung und Anwendung durch Automatisierung beim Erstellen, Testen und Bereitstellen von Anwendungen.
- Code
Code, manchmal auch Quellcode genannt, sind die von einem Programmierer geschriebenen Anweisungen, die einem Softwareprogramm mitteilen, wie es zu funktionieren hat. Verse-Quellcode kann vom Programmierer gelesen werden, aber nicht vom Computer. Bevor der Computer das Programm lesen oder ausführen kann, muss es in computerausführbare Anweisungen umgewandelt werden, was als Kompilierung bezeichnet wird. Wenn ein Programmierer sagt, dass er codiert, meint er, dass er diese Anweisungen schreibt.
- Codebeispiel
Ein eigenständiges Programm, Modul oder eine Klasse, die ein oder mehrere Konzepte, Klassen, Funktionen oder einen anderen Aspekt einer Programmiersprache demonstriert. Siehe auch Codeschnipsel.
- Codeblock
Ein Block oder Codeblock ist eine Gruppe von Ausdrücken, die einen neuen Codeteil einführt. Du kannst auch einen Codeblock haben, der null Ausdrücke enthält, aber dies ist normalerweise ein Platzhalter, der zu einem späteren Zeitpunkt mit Ausdrücken gefüllt wird.
Codeblöcke kommen nach einer Kennung.
Ein Codeblock hat in Verse drei mögliche Formate. Alle diese Formate sind semantisch insofern gleich, als das Format nicht ändert, was der Code tatsächlich tut.
Ein Leerzeichenformat beginnt den Block mit
:, und jeder Ausdruck folgt in einer eigenen Zeile mit einer Einrückung von vier Leerzeichen:Verseif (test-arg-block): expression1 expression2Beachte, dass
if (test-arg-block)nicht Teil des Blocks ist, sondern der Block am Ende dieser Zeile mit:beginnt. Du kannst auch;verwenden, um mehrere Ausdrücke in einer einzelnen Zeile zu trennen:Verseif (test-arg-block): expression1; expression2; expression3In einem mehrzeiligen geschweiften Format wird der Block von
{}(geschweifte Klammern) umschlossen und die Ausdrücke stehen in neuen Zeilen:Verseif (test-arg-block) { expression1 expression2 }Wie bei dem Format mit Leerzeichen kannst du auch
;verwenden, um mehrere Ausdrücke in einer einzelnen Zeile zu trennen.Verseif (test-arg-block) { expression1; expression2 }Das dritte Format ist das einzeilige geschweifte Format. Auch hier wird der Block von
{}umschlossen, aber jeder Ausdruck wird durch;getrennt, anstatt in eine neue Zeile gestellt zu werden. Beachte, dass du die Zeichen{}nicht in separate Zeilen schreiben musst.Verseif (test-arg-block) {expression1; expression2}Mehr dazu findest du unter Codeblöcke.
- Codeeinheit
Beschreibt die kleinstmögliche Bit-Kombination, die für eine Einheit kodierten Texts stehen kann. UTF-8 verwendet 8 Bits für seine Codeeinheit.
- Codekommentar
Siehe Kommentar.
- Codepunkt
Ein Wert im Unicode-Codebereich für Zeichenkodierung.
- Codeschnipsel
Ein Snippet ist ein oft kurzer Code, der normalerweise dazu dient, ein bestimmtes Konzept zu präsentieren oder zu implementieren.
Codeschnipsel sind keine vollständigen, eigenständigen Programme. Codeschnipsel können kopiert und in Codeblöcke eingefügt werden. Siehe auch Codebeispiel.
- Commit
Bei einem Commit wird ein Satz der Änderungen im Code in einem Versionskontrolle-System aufgezeichnet.
In Verse bedeutet Commit, dass die Auswirkungen von Code auf einen fehlbaren Ausdruck nach dem Erfolg dieses Ausdrucks permanent gemacht werden.
- Compiler
Software, die menschenlesbare Programmanweisungen in computerausführbare Befehle umwandelt. Dies wird teilweise auch als Parser bezeichnet. Der Zeitraum, zu dem der Compiler ausgeführt wird, wird als Kompilierzeit bezeichnet.
- Compiler-Fehler
Ein Compiler-Fehler wird durch fehlerhaften Code verursacht, der durch den Verse-Compiler zur Kompilierzeit erkannt wurde. Siehe auch Bugs, die zur Laufzeit auftreten.
- Container
In UEFN ist ein Container eine Klasse, die Eigenschaften enthält, die auf mehrere Objekte angewendet werden können.
In Verse ist ein Container eine Möglichkeit, Daten in Code zu organisieren. Weitere Informationen findest du unter Containertyp.
- Containertyp
Du kannst mehrere Werte zusammen speichern, indem du einen Container-Typ verwendest, wie ein Array, eine Map, ein Tupel oder eine Option.
- Daten
Im Allgemeinen beziehen sich Daten auf die in einem Ausdruck verwendeten Werte.
- Datenelement
Siehe Mitglied.
- Datentyp
Siehe Typ.
- Debuggen
Der Prozess der Identifizierung und Behebung von Fehlern in deinem Code.
- Debugger
Ein Werkzeug zum Debuggen, mit dem du den Programmzustand bei jedem Ausführungsschritt sehen kannst.
- decorate
Beim Schreiben von Code bedeutet "decorate", ein Stück Code mit einem anderen zu umhüllen.
- definieren
Siehe Definition.
- Definition
Eine Definition liegt vor, wenn eine Kennung implementiert ist oder ein Wert zugewiesen wurde, z. B. bei einer Funktions- oder eine Klassendefinition. Siehe auch Deklaration.
- deterministisch
Ein deterministisches System ist System, bei dem der gleiche Anfangszustand oder die gleiche Eingabe immer zu den gleichen Ergebnissen führt.
- deterministische Zerstörung
Deterministische Zerstörung, wie sie in einigen Programmiersprachen vorkommt, bedeutet, dass Objekte zerstört werden, wenn ein Programm ihren Bereich verlässt.
- Diagramm aufrufen
Eine Liste der Methoden in einem Aufrufstapel mit Informationen zu jedem Aufruf, wie z. B. Ausführungszeit, Zeitstempel und die Kennung für die Funktion.
- Digest
Eine automatisch generierte Liste aller öffentlichen Symbole, wie Module, Funktionen, Klassen, die der Verse-Compiler verarbeitet hat. Dazu gehören auch Kommentare. Du kannst eine Digest-Datei lesen, um zu sehen, welche API und Funktionalität sich in einem zugehörigen Modul befinden.
- divergieren
Die Ausführung eines Programms wird als divergierend bezeichnet, wenn es nicht wie erwartet beendet (abgeschlossen) wird. Wenn es innerhalb einer endlichen Zeit einen Wert ergibt, ohne zu divergieren, konvergiert es.
- doc
Ein generisches Feld für Notizen, das sich in Klassen und Funktionen findet (aber nicht in Funktionsparametern) und hilfreiche Informationen dazu enthält, was das beschriebene Element tut oder wie es zu verwenden ist. Es wird verwendet, um die Seite des Elements in der Verse-API-Referenz zu füllen.
- Domäne
Die Domäne ist der Satz von Eingaben, die von einem bestimmten Parameter akzeptiert werden. Ein Typ ist eine Möglichkeit, eine Domäne anzugeben, aber die Domäne ist umfassender als der Typ.
- dynamische Eingabe
In einer dynamisch typisierten Programmiersprache haben Variablen und Ausdrücke keine zugewiesenen Typen. Das bedeutet, dass es erst zur Laufzeit verifiziert werden kann. Siehe auch streng typisiert.
- editierbar
Ein Attribut, das du Code hinzufügen kannst, um die Eigenschaften in UEFN verfügbar zu machen. Das Taggen von Code mit diesem Attribut besteht aus dem Hinzufügen eines
@attribute_name(in diesem Fall@editable) vor einer Feldkennung:Verse@editable PropertyName : type = DefaultValueZum Beispiel ist das string-Feld
GreetingMessageeine bearbeitbare Eigenschaft mit dem Standardwert"Hallo, Fremder":Verseexpose_properties := class(creative_device): @editable GreetingMessage : string = "Hello, stranger"Weitere Informationen zur Verwendung findest du unter Anpassen deiner Geräteeigenschaften im Editor.
- Effekthierarchie
Ein Effekt ist eine Verhaltenskategorie, die eine Funktion aufweisen kann. Die Anwendung exklusiver Effekte auf eine Funktion hat eine Hierarchie, wobei Effekte, die höher in der Hierarchie stehen, zumindest alle Aktionen von Effekten unter ihnen zulassen. Die Hierarchie ist:
abschließenvariiertberechnetkonvergiert
Der
transacts-Effekt enthält Eigenschaften für die unten aufgeführten Effekte, dervaries-Effekt umfasst diecomputes- undconverges-Effekte, aber nichttransactsusw.- Eigenschaft
Eine Eigenschaft ist ein Mitglied (Feld), das es ermöglicht, Werte zurückzugeben und verfügbar zu machen.
- einzigartig
Der Bezeichner unique kann auf eine Klasse angewendet werden, um sie zu einer eindeutigen Klasse zu machen. Um eine Instanz einer eindeutigen Klasse zu erstellen, weist Verse der entstehenden Instanz eine eindeutige Identität zu. So können Instanzen von eindeutigen Klassen auf Gleichheit verglichen werden, indem ihre Identitäten verglichen werden. Klassen ohne den `unique`-Spezifizierer haben keine solche Identität und können daher nur auf der Grundlage der Werte ihrer Felder auf Gleichheit verglichen werden. Das bedeutet, dass eindeutige Classes mit den Operatoren „=“ und „<>“ verglichen werden können und Untertypen des Typs „comparable“ sind.
- Element
Ein einzelner Teil in einer größeren Gruppe. Beispielsweise kann ein Array verschiedene Elemente enthalten, die einzeln gespeichert und verwendet werden können.
- Endknoten
Der erste Knoten in einer verknüpften Liste wird Kopfknoten genannt, und der letzte Knoten ist der Endknoten.
- Endlosschleife
Ein Schleifenblock, der sich ewig wiederholen wird. Siehe auch Schleife und Pause.
- entscheidet
Ein Effekt, der anzeigt, dass die Funktion fehlschlagen kann und dass der Aufruf dieser Funktion ein fehlbarer Ausdruck ist. Die Funktionsdefinitionen mit dem Effekt „decides“ müssen auch den Effekt transacts haben, was bedeutet, dass die von dieser Funktion durchgeführten Aktionen zurückgenommen werden können (als ob die Aktionen nie durchgeführt worden wären), wenn irgendwo in der Funktion ein Fehler auftritt.
- Entscheidungsausdruck
Ein Entscheidungsausdruck verwendet die Operatoren
not,andundor, um dir die Kontrolle über den Entscheidungsfluss bei Erfolg und Misserfolg zu geben.- Entwickler
Jemand, der Fortnite-Werkzeuge verwendet, um eine Insel in Fortnite zu erstellen (zu entwickeln), insbesondere wenn die Person UEFN verwendet. Dieser Begriff umfasst Entwickler von Fortnite-Inseln, Künstler und Architekten.
- Erfolg
Wenn ein Ausdruck abgeschlossen wird, ohne fehlzuschlagen, ist er erfolgreich. Siehe auch Fehlerkontext.
- Ergebnis
Wenn ein Ausdruck ausgeführt wird und dann einen Wert ausgibt, ist dieser Wert ein Ergebnis.
- erklären
Du deklarierst eine Variable oder eine Funktion, indem ihre Kennung und Typ angibst. Siehe auch Initialisieren.
- Erklärung
Eine Deklaration ist ein Ausdruck, bei dem eine Kennung zusammen mit seinem Typ eingeführt wird. Sie kann implementiert (verwendet) werden und sie kann einen zugewiesenen Wert (initialisiert) haben.
var name : type = expressionist die Syntax für die Deklaration einer Variable. Beispiel:Versevar PlayerSpeed : float = 2.0Diese Codezeile deklariert, dass eine als PlayerSpeed benannte Variable einen Float-Wert hat.
In diesem Beispiel ist der letzte Teil,
= 2.0, die Initialisierung, die von der Deklaration getrennt ist.- Escape-Zeichen
Das Verse-Escape-Zeichen ist der umgekehrte Schrägstrich ( \ ), der eine Escape-Sequenz innerhalb eines String-Literal erstellt. Das wird verwendet, um Steuerzeichen zu ändern, die sonst anders interpretiert würden. Arbeitest du beispielsweise mit einem String und möchtest Zeichen mit vorgegebenen Verwendungszwecken wie { } einfügen, musst du das Escape-Zeichen "" vor dem Zeichen in den String einfügen. Das würde dazu führen, dass
"\\{\\}"im Text als {} dargestellt wird.- exklusiver Effekt
Einige Effekte gelten als exklusive Effekte, denen additive Effekte hinzugefügt werden können, die aber nicht mit anderen exklusiven Effekten verwendet werden können. Zu den exklusiven Effekten gehören
computes,variesundtransacts. Zu den additiven Effekten gehörensuspendsunddecides.- expose
Eine Eigenschaft wird in UEFN freigegeben, indem ihr das Attribut
editableim Verse-Code zugewiesen wird. Das bedeutet, dass du die angezeigte Eigenschaft direkt in der UEFN-Schnittstelle bearbeiten kannst. Siehe auch bearbeitbar.- f
Siehe Float.
- fehlbarer Ausdruck
Ein fehlbarer Ausdruck ist ein Ausdruck, der entweder erfolgreich ist und einen Wert liefert oder fehlschlägt und keinen Wert zurückgibt. Beispiele für fehlbare Ausdrücke sind die Indizierung in einem Array, da ein ungültiger Index fehlschlägt, und die Verwendung von Operatoren wie beim Vergleich zweier Werte.
- Fehlerkontext
Ein Fehlerkontext ist ein Kontext, in dem es zulässig ist, Ausdrücke auszuführen, die fehlschlagen könnten. Der Kontext definiert, was passiert, wenn der Ausdruck fehlschlägt.
- Feld
Siehe Mitglied.
- final
Ein Bezeichner kann nur für Klassen und Mitglieder von Klassen verwendet werden.
Wenn eine Klasse den Bezeichner „final“ aufweist, kannst du keine Subklasse der Klasse erstellen.
Wenn ein Feld den final-Bezeichner hat, kannst du das Feld nicht in einer Unterklasse außer Kraft setzen.
Wenn eine Methode den Bezeichner „final“ aufweist, kannst du die Methode in einer Subklasse nicht außer Kraft setzen.
- fire-and-forget
Fire-and-forget bezieht sich auf einen Ausdruck, bei dem es dir egal ist, wann er abgeschlossen wird oder ob er erfolgreich abgeschlossen wird. Das ist äußerst selten.
- Fließkommazahl
Ein Begriff, der in verschiedenen Programmiersprachen verwendet wird, um eine Variable mit einem Bruchwert oder eine Zahl zu definieren, die ein Dezimalkomma enthält, wie z. B. 0,5 oder 1,0. Zahlen, die mit einer Float-Variablen-Erklärung erstellt wurden, haben Ziffern auf beiden Seiten eines Dezimalkommas.
- Fortbestand
Wenn Spielerdaten aus einer Sitzung gespeichert und in der nächsten Sitzung für dieses Spiel erneut geladen werden, wird dies als Persistenz bezeichnet.
- Frame
Ein Frame ist ein vollständig gerendertes Bild (wie auf einem Computermonitor oder Fernsehgerät), das eine Simulation zu einem bestimmten Zeitpunkt darstellt. Der Begriff Frame wird teilweise synonym mit einer Simulations-Aktualisierung (oder einem Tick) verwendet, da diese gemeinsam erfolgen. Aber neue Frames können mit einer anderen Rate (häufiger oder weniger häufig) als eine Simulationsaktualisierung auftreten. Die Framerate oder kurz fps (frames per second) ist die Anzahl der Bilder, die pro Sekunde erscheinen.
- Funktion (Code)
Eine Funktion (auch Routine genannt) ist wiederverwendbarer Code, der Anweisungen zum Ausführen einer Aktion oder zum Erstellen von Output je nach Input bereitstellt.
Zum Definieren einer Funktion sind drei Hauptbestandteile erforderlich: ein einzigartiger Name, der als Ergebnis zu erwartende Informationstyp und die Wirkungsweise der Funktion, wenn sie aufgerufen wird.
Dies ist die grundlegende Syntax einer Funktion:
Versename() : type = codeblockDer name() und der Typ, getrennt durch einen Doppelpunkt: Dies ist die Funktionssignatur, d. h. wie du die Funktion aufrufen und verwenden musst. Der Wert, der von der Funktion zurückgegeben werden muss, hat den von dir angegebenen Typ. Dieses Format ähnelt der Erstellung von Konstanten, mit Ausnahme des () nach dem Namen, das den Aufruf der Funktion in deinem Code nachahmt.
Funktions-Codeblock: Du definierst, was die Funktion tun soll, wenn sie aufgerufen wird, indem du
=codeblockangibst, wobeicodeblockeine beliebige Folge von einem oder mehreren Ausdrücken ist. Wenn du die Funktion aufrufst, werden die Ausdrücke im Codeblock ausgeführt.
- funktionale Logikprogrammierung
Die Kombination von funktionalen und logischen Programmierungs-Paradigmen in einer einzelnen Sprache.
- Funktionale Programmierung
Ein Typ der deklarativen Programmierung, der sich auf die Verwendung von Funktionen konzentriert. Die funktionale Programmierung möchte das Testen und Debugging einfacher machen, indem die Nebeneffekte reduziert werden. Ein Beispiel für eine funktionale Programmiersprache ist Haskell.
- Funktionsaufruf
Ein Ausdruck, der eine Funktion auswertet (bekannt als Calling oder Aufruf). Funktionsaufrufe können zwei Formen haben, abhängig davon, ob die Funktion über den
decides-Effekt verfügt:FunctionName()undFunctionName[]. Der Ergebnis-Typ des Funktionsaufrufs wird in der Funktionssignatur definiert.- Funktionssignatur
Die Funktionssignatur deklariert den Funktionsnamen (Kennung), den Input (Parameter) und den Output (Ergebnis) der Funktion. Verse-Funktionen können auch Bezeichner haben, die angeben, wie eine Funktion verwendet oder implementiert werden soll.
- Ganzzahl
Eine Ganzzahl ist eine ganze Zahl (keine Bruchzahl), die positiv, negativ oder null sein kann.
- Ganzzahlüberlauf
Ein Ganzzahlüberlauf tritt auf, wenn versucht wird, einen Wert zu speichern, der für die für den Ganzzahltyp definierten Werte zu groß ist.
- gegenseitiger Ausschluss
Wenn mehr als ein Prozess auf dasselbe Codesegment zugreift, wird dieses Segment als kritischer Abschnitt bezeichnet. Gegenseitiger Ausschluss ist eine Möglichkeit sicherzustellen, dass nicht zwei Prozesse gleichzeitig auf einen kritischen Abschnitt zugreifen können.
- Generator
Ein Generator erzeugt nacheinander eine Folge von Werten und gibt dem Wert in der Folge einen Namen.
- Gerät
Geräte sind Objekte in Fortnite, die bestimmte Aufgaben erfüllen, um das Gameplay zu steuern.
Ein Gerät ist wie ein Objekt etwas, das auf deiner Insel platziert werden kann. Geräte unterscheiden sich jedoch von Objekten dahingehend, dass du mit ihnen interaktive Elemente für die Spieler erstellen kannst. Unterschiedliche Geräte haben unterschiedliche Funktionen, aber sie alle erfüllen einen Zweck.
Stell dir ein Gerät als ein Paket von Spielmechaniken mit bestimmten Funktionen vor, die an dein Gameplay angepasst werden können. Die meisten Geräte können angepasst werden, doch sie besitzen alle Standardeinstellungen, die vorgeben, wie sie sich verhalten, selbst wenn man sie nicht anpasst.
In Verse ist ein Gerät der Grundbaustein für die Erstellung von Spielmechaniken. Ein Gerät steuert Spielerinteraktionen, die das Gameplay kontrollieren.
- geschweifte Klammern
Siehe Klammern.
- Gleichheitsausdruck
Wenn du vergleichst, ob zwei Dinge gleich sind, indem du den Operator = verwendest, wird dies in Verse als Gleichheits-Ausdrücke bezeichnet.
- gleichzeitig
Mehrere Berechnungen, die im selben effektiven Zeitraum ausgeführt werden, laufen gleichzeitig ab. Das wären überlappende logische Simulationsaktualisierungen, Ticks und Frames, selbst wenn sie möglicherweise über die physische Zeit verteilt sind, wie z. B. auf einem einzelnen Prozessor, und nicht unbedingt parallel.
- Gruppe
Die Aktion, einen Ausdruck in
()einzuschließen. Dies gibt explizit die Reihenfolge der Auswertung an. Die Gruppierung kann auch die Lesbarkeit des Codes verbessern.- Gängiger Typ
Gängige Typen sind Typen, die integriert sind und häufig verwendet werden. Zu den gängigen Typen gehören
any,comparable,float,int,logic,rationalundstring.- Handler
Ein Handler ist die Funktion die aufgerufen wird, um auf ein gebundenes Event zu reagieren. Beispiel: Wird eine Funktion an das InteractedWithEvent einer Taste gebunden, so wird jedes Mal, wenn ein Spieler mit der Taste interagiert, der mit diesem Event verknüpfte Handler aufgerufen.
- hart kodiert
Hart kodierte Daten werden direkt in den Code geschrieben, anstatt die Daten einer Variablen zuzuweisen. Dies macht den Code in der Regel weniger flexibel und schwieriger zu aktualisieren, aber es gibt Fälle, in denen es sinnvoll ist, dies zu tun.
- hexadezimal
In Verse kannst du anstelle des dezimalen Zahlensystems, das die Basis-10 verwendet, das hexadezimale Zahlensystem (mit der Basis 16) verwenden, um Ganzzahlen darzustellen. Das bedeutet, dass hexadezimale Werte mit den Ziffern 0–9 und den Buchstaben A–F dargestellt werden. Beispielsweise ist 0x7F dasselbe wie 127 und 0xFACE ist dasselbe wie 64206.
Dies ist eine alternative Darstellungsweise von Ganzzahlen.
- Hierarchisch
Klare Ebenen oder Hierarchien von Rang, Wichtigkeit oder Kontrolle haben. Übliche hierarchische Beziehungen sind Parent/Child oder Superklasse/Subklasse.
- IDE
Eine integrierte Entwicklungsumgebung (IDE) ist eine Software, die eine Benutzeroberfläche zum Erstellen und Debuggen von Programmen bereitstellt.
- if-Ausdruck
Mit dem
if-Ausdruck kannst du Entscheidungen treffen, die den Ablauf des Programms verändern. Wie in anderen Programmiersprachen unterstützt derif-Ausdruck in Verse die bedingte Ausführung, aber in Verse verwenden die Bedingungen Erfolg und Fehlschlag, um die Entscheidung zu treffen.- Imperative Programmierung
Ein Paradigma, bei dem das Programm explizit beschreibt, wie ein Programm Schritt für Schritt ausgeführt wird. Ein Beispiel für eine imperative Programmiersprache ist C.
- Index
Ein Index stellt die Positionen von Elementen in einer Sequenz durch numerische Darstellung dar. Eine Sequenz kann eine Liste, ein String mit Zeichen oder eine beliebige Folge von Werten sein.
Indizes verwenden nullbasierte Zählung. Das heißt, die erste Position im Index ist 0 und die fünfte Position wäre 4.
- Infer
Es gibt Fälle, in denen du den Typ nicht explizit festlegen musst, z. B. beim Erstellen einer Konstante. Beispielsweise wird in
MyConstant := 0der Typ für MyConstant als int abgeleitet, da ihm ein Integer-Wert zugewiesen ist. In solchen Fällen wird der Typ abgeleitet.- Infix
Ein Format für einen Operator, bei dem es zwei Operanden gibt und der Operator zwischen den Operanden steht.
- initialisieren
Erstellen einer Variable, Festlegen ihrer Kennung und ihres Typs, was als Deklarieren einer Variable bezeichnet wird, und Zuweisen eines Werts zur Variable, was als Initialisierung bezeichnet wird.
- instantiieren
So erstellst du eine Instanz von etwas.
In Verse bedeutet instanziieren, eine Instanz oder einen Werts einer Datenstruktur oder eines Datentyps, z. B. einer Klasse oder Struktur, zu erstellen. Siehe auch Archetyp-Instanziierung.
- Instanz
Eine Instanz ist wie eine einzigartige Kopie eines Assets. Das ursprüngliche Asset bestimmt die Standardeigenschaften jeder neuen Instanz, die du erstellst. Änderungen, die du an den Eigenschaften einer Instanz vornimmst, wirken sich nicht auf das ursprüngliche Asset aus. Du kannst zum Beispiel ein Material so ändern, dass es ein anderes Aussehen hat, ohne das Master-Material zu ändern. In diesem Fall handelt es sich also um eine Instanz eines Materials.
In Verse bedeutet Instanz, eine Variable zu erstellen, ihre Kennung und ihren Typ festzulegen, was als Deklarieren einer Variable bezeichnet wird, und der Variablen einen Werte zuzuweisen, was als Initialisierung bezeichnet wird.
- integriert
In einigen Programmiersprachen ist etwas, das integriert oder eingebaut ist, etwas, das du direkt in der Sprache und ihren Standardbibliotheken verwenden kannst.
- integrierter Typ
Ein integrierter Typ kann im Gegensatz zu einem zusammengesetzten Typ nicht weiter zerlegt werden.
- Interne Klasse
Eine Klasse, die als
epic_internalgekennzeichnet ist, was bedeutet, dass du keine eigene Instanz der Klasse erstellen kannst. Die APIs können nur für den Zugriff auf ein internes Objekt verwendet werden.- Interpolation
Die Überblendung neuer Werte, die zwischen bekannten Werten liegen.
- Interpreter
Ein Programm, das ein Programm Zeile für Zeile analysiert und ausführt.
- Is-a-Beziehung
Die Beziehung zwischen einer Parent-Klasse und einer Child-Klasse wird als is-a-Beziehung bezeichnet. Die Child-Klasse in einer is-a-Beziehung erbt von der Parent-Klasse.
- iterieren
Um Code für jedes Element in einer Sequenz auszuführen.
- Kachel
Ein Rasterabschnitt auf einer Oberfläche wie Boden oder Wand.
Eine Art, Menüoptionen visuell anzuordnen.
Bei Verse: Der Teil eines Rasters auf einer Oberfläche, beispielsweise ein Boden oder einer Wand.
- kein Rollback
Dieser Effekt zeigt an, dass die veränderlichen Datenlese- und -schreibvorgänge einer Funktion nicht rückgängig gemacht werden können, was bedeutet, dass die Funktion nicht in einem Fehlerkontext aufgerufen werden kann (der im Falle eines Fehlers ein Rollback-Verhalten hat).
- Kennung
Eine Kennung ist der Name, den Dinge in einem Programm erhalten, wie etwa Variablen oder Funktionen, um sie eindeutig zu identifizieren.
- Klammern
Klammern werden in Verse verwendet, um verschiedene Informationsarten im Code anzugeben. Verse verwendet vier Klammerarten. Zu ihrer Verwendung gehören unter anderem:
()Runde Klammern werden verwendet, um Parameter in einer Funktionssignatur und Argumente in einem Funktionsaufruf zu setzen und um Ausdrücke, Tupel und Subklassen zu gruppieren.[]Klammern (auch eckige Klammern genannt) werden für fehlbare Funktionsaufrufe, Typ-Bezeichner für Arrays und Maps und Indexierung in einem Array verwendet.{}Geschweifte Klammern werden bei der Archetyp-Instanziierung, der Codeblock-Formatierung und der String-Interpolation verwendet.<>Spitze Klammern werden verwendet, um Bezeichner an Kennungen und Funktionen anzuhängen.
- Knoten
In UEFN ist ein Knoten eine grundlegende Einheit innerhalb eines diagrammbasierten Systems, die eine bestimmte Funktion, Operation oder einen Datenpunkt darstellt. Im Kontext von Diagrammen ist ein Knoten eine einzelne Komponente, die Audiosignale verarbeitet oder weiterleitet, z. B. eine Klangquelle, ein Effekt (wie Hall oder Verzögerung), ein Mixer oder ein Output.
Für Verse siehe Knoten einer verknüpften Liste.
- Knoten einer verknüpften Liste
Jedes Element in einer verknüpften Liste wird als Knoten bezeichnet. Ein Knoten ist ein Container, der Daten und einen Verweis auf den nächsten Knoten in der Liste enthält.
- Kommentar
Ein vom Programmierer geschriebener Kommentar, der etwas über den Code oder den Grund des Programmierers erklärt, wie etwas programmiert wird. Während der Code selbst das Wie des Programms zeigt, werden normalerweise Kommentare hinzugefügt, um das Warum zu erklären.
Codekommentare können überall im Code erscheinen und mit
#beginnen. Wenn das Programm ausgeführt wird, werden Codekommentare ignoriert.Du kannst eine einzelne Zeile kommentieren, indem du ein
#an den Anfang der Zeile setzt. Der Zeilenumbruch am Zeilenende beendet den Kommentar.Verse# A single line is commented this way.Du kannst einen mehrzeiligen Block-Kommentar erstellen, indem du
<#verwendest, um den Block zu beginnen, und#>, um ihn zu beenden:Verse<# You can make multi-line comments in your code by starting and ending the comments as shown here. #>Weitere Möglichkeiten zum Hinzufügen von Kommentaren zu deinem Code findest du in der Verse-Sprache Schnellreferenz.
- kompilieren
Um Programme aus einer menschenlesbaren Sprache in computerausführbare Anweisungen umzuwandeln.
- Kompilierzeit
Wenn Quellcode in Maschinenanweisungen umgewandelt wird. Siehe auch Laufzeit.
- Komponente
Eine in sich geschlossene Kachel zum Rendern eines Geländestücks. Manchmal werden Komponenten als Zellen bezeichnet. Siehe auch World Partition.
Komponenten liefern Daten und Verhaltensweisen für die Entitäten in Scene Graph. Komponenten definieren, was eine Entität in der Szene machen soll.
Komponenten verfügen über bearbeitbare Eigenschaften, die physisch sein können, wie ein statisches Mesh oder ein Partikelsystem, oder logisch, wie ein Gameplay-Tag oder benutzerdefinierter Verse-Code, der die Bewegung einer Plattform definiert. Standardmäßig haben alle Entitäten eine Transform Component, um festzulegen, wo die Entität in der Welt existiert.
In Verse eine Funktion oder eine Gruppe verwandter Funktionen in einem Programm, die wiederverwendet werden kann.
- konkrete Klasse
Eine Klasse mit einem konkreten Bezeichner ist eine Möglichkeit, eine Instanz der Klasse mit einem leeren Archetyp zu konstruieren, was bedeutet, dass alle Felder für die Klasse mit einem Ausgangswert definiert werden müssen.
- Konstante
Eine Konstante ist ein Ort, an dem ein Wert gespeichert ist und dessen Wert sich während der Laufzeit des Programms nicht ändern kann. Sie wird Konstante genannt, weil sie konstant (unverändert) bleibt.
Die Basis-Syntax für eine Konstante lautet
name : type = value.namesteht für einen Namen, welcher der Konstante zugewiesen wurde (ihre Kennung).:gibt an, das nun ein Typ folgt.=gibt an, dass nun ein Wert folgt. Danach steht der Wert. Beispiel:VersePlayerSpeed : float = 2.0Dies besagt, dass PlayerSpeed einen Wert von 2,0 hat, dargestellt als Dezimalwert, der sich während der Ausführung des Programms nicht ändert.
Konstanten haben stets zugewiesene Werte. Name und Typ sind die Deklaration, und bei der Initialisierung wird der Wert ausgedrückt.
Siehe auch Variable.
Weitere Informationen findest du unter Konstanten und Variablen.
- Kontext
Der Codebereich, der die Lebenszeit verschiedener Sprachelemente und Einschränkungen definiert. Das ist normalerweise der Bereich zwischen Beginn und Ende eines Codeblocks.
- Kontextwechsel
Ein Kontextwechsel ist der Vorgang des Speicherns des Prozesszustands oder Thread, damit er wiederhergestellt und die Ausführung zu einem späteren Zeitpunkt fortgesetzt werden kann, und dann ein anderer, zuvor gespeicherter Zustand wiederhergestellt wird.
- konvergiert
Der „kleinste“ Effektsatz. Es ist ein Code, der garantiert einen Wert in einer begrenzten Zeit ohne divergieren liefert.
- Kopfknoten
- Koroutine
Eine Routine mit einer Dauer-Lebensdauer, die entweder Arbeit im Laufe der Zeit ausführt oder auf das Eintreten verschiedener Events und Zustände oder eine Kombination aus beidem wartet. Coroutine ist gleichbedeutend mit asynchroner Funktion.
- Körper
Ein Block mit seinem eigenen Bereich, der die Teilausdrücke eines Sprachelements definiert, wie z. B. ein Funktionshauptteil oder ein Schleifenhauptteil. Beispielsweise enthält ein Funktionskörper Ausdrücke, die definieren, was die Funktion tut, und alle Variablen, die in der Funktion deklariert werden, sind lokal zu diesem Funktionskörper.
- Laufzeit
Bezieht sich auf die Zeit, in der das Spiel, die Simulation oder die Anwendung läuft. Vergleichbar mit der Kompilierzeit, die sich auf die für die Kompilierung aufgewendete Zeit bezieht, oder der Entwicklungszeit, die sich auf die für die Entwicklung, Kompilierung und Fehlersuche aufgewendete Zeit bezieht.
Es ist üblich, zwischen Dingen zu unterscheiden, die zur Laufzeit passieren, und Dingen, die zur Kompilierzeit passieren.
- Lebensdauer
Die Zeit zwischen der Erschaffung eines Objekts und seiner Vernichtung. Synonym für Lebensspanne.
- Lebensspanne
Siehe Lebenszeit.
- leerer Block
Ein Codeblock, der null (keine) Ausdrücke enthält, ist ein leerer Block. Leere Blöcke werden in der Regel nur als Platzhalter verwendet und später mit Code aufgefüllt.
- leerer String
Ein String, der keine Zeichen enthält
"", wird als leerer String bezeichnet.- literal
Ein fester Wert in der Programmiersprache Verse, z. B. eine Zahl oder ein Zeichen. Beispielsweise ist 1 ein Ganzzahl-Literal.
- Logik-Programmierung
Ein Programmierungs-Paradigma, das Boolesche Logik verwendet, um zu steuern, wie Fakten und Regeln zu den Problemen innerhalb des Systems dargestellt oder ausgedrückt werden.
- lokal
Bezieht sich auf eine Konstante oder Variable innerhalb eines Codeblocks. Diese können nicht außerhalb des Codeblocks verwendet werden, in dem sie erstellt wurden. Siehe auch Bereich.
- lose Eigenschaft
- mathematischer Ausdruck
In Verse ist ein mathematischer Ausdruck ein Ausdruck, der einen der folgenden Operatoren verwendet:
+,-,*oder/.- Meldung
Eine
Meldungin Verse ist ein Typ, der vom Gebietsschema unabhängigen Text enthalten kann. Wenn du einemessage-Variable mit einemstring-Wert initialisierst, ist dieser String der Standardtext und die Standardsprache für die Nachricht.- Metaverse-Umgebung
Eine beständige und global konsistente Echtzeit-3D-Welt mit einer Laufzeitumgebung, die gleichzeitigen, komplexen, voneinander abhängigen, benutzergeschriebenen Code mit Millionen von gleichzeitig verbundenen Benutzern ausführt.
- Methode
Eine Methode ist eine Funktion, die an eine Klasse angehängt ist und nur auf einer Instanz dieser Klasse aufgerufen werden kann.
- Mitglied
Eine benannte Variable oder Funktion, die ein Unterteil einer zusammengesetzten Datenstruktur ist (z. B. eine Verse-Klasse, -Struktur, -Schnittstelle oder -Modul). Mitgliedervariablen werden häufig als Felder bezeichnet und Mitgliederfunktionen als Methoden.
- Modul
Ein Verse-Modul ist eine atomare Code-Einheit, die weiter verteilt werden kann, auf die du dich stützen kannst und die sich im Laufe der Zeit weiterentwickeln kann, ohne Abhängigkeiten zu unterbrechen. Du kannst ein Modul in deine Verse-Datei importieren, um Codedefinitionen aus anderen Verse-Dateien zu verwenden.
Weitere Informationen findest du unter Module und Pfade.
- Mutex
Ein Mutex ist ein Synchronisierungsgrundkörper, der exklusiven Zugriff auf eine gemeinsame Ressource gewährt, indem nur ein Thread verwendet wird. Siehe auch gegenseitiger Ausschluss.
- NaN
Ein Wert, der Not a Number darstellt.
- nativ aufrufbar
Gibt an, dass eine Instanzmethode sowohl nativ (in C++ implementiert) ist als auch von anderem C++-Code aufgerufen werden kann. Diesen Bezeichner siehst du verwendet für eine Instanzmethode. Dieser Bezeichner wird nicht an Subklassen weitergegeben, so dass du ihn nicht zu einer Definition hinzufügen musst, wenn du eine Methode überschreibst, die diesen Bezeichner hat
- native
nativebedeutet, dass die Definitionsdetails eines Elements in C++ implementiert sind. Dieser Bezeichner kann automatisch C++-Definitionen generieren, die dann von einem Entwickler verwendet werden können. Dernative-Bezeichner wird für Klasse, Interface, Enum, Methode und Daten verwendet.- Nebeneffekt
Ein Nebeneffekt tritt auf, wenn Code, wie eine Funktion oder ein Ausdruck, einen Zustand außerhalb seines Bereichs verändert.
- null-basierte Nummerierung
Eine Art der Nummerierung, bei der das erste Element einer Folge als 0 und nicht als 1 eingestuft wird. Das bedeutet, dass die Nullposition in einem Index für 1 steht, die erste Position für 2, und so weiter. Nummerierungsfolgen, die bei 0 beginnen, sind in der mathematischen Notation üblich. In der Programmierung wird die erste Position in einem Array manchmal als nullte Position bezeichnet.
- Objekt
In UEFN ist ein Objekt ein anderes Wort für Asset.
In Verse ist eine Instanz einer Klasse ein Objekt. Eine Instanz hat dieselben Verhaltensweisen, die durch ihren Klassentyp definiert sind, jedoch mit echten Werten.
Die Begriffe Instanz und Objekt sind Synonyme.
- Objektorientierte Programmierung
Objektorientierte Programmierung (OOP) ist ein Programmierparadigma, das auf dem Konzept von Klassen und Objekten beruht.
- Open-World-Sprache
Eine Sprache, in der sich voneinander abhängige Module, die von vielen verschiedenen Benutzern und Organisationen geschrieben wurden, im Laufe der Zeit weiterentwickeln können, ohne die Schnittstellenkompatibilität und die dauerhafte Datenkompatibilität zu beeinträchtigen, indem klar definierte Subtypisierungsregeln befolgt werden.
- Operand
Die Menge, für die eine Operation ausgeführt wird. Beispielsweise ist im Ausdruck
1 + 2das+ein Operator und1und2sind beides Operanden.- Operation
Eine Aktion, die von einem Programm ausgeführt wird, um eine bestimmte Aufgabe zu erfüllen. Es gibt vier Standard-Gruppen von Computeroperationen: Eingabe, Verarbeitung, Ausgabe und Speicherung. Eine Operation ist eine Art von Ausdruck.
- Operator
Ein Symbol, das eine Aktion oder einen Prozess darstellt. Beispielsweise ist in
1 + 2das+der Operator.- Operatorvorrang
Das bezieht sich auf die eingebaute Reihenfolge der Auswertung beim Kombinieren von Operatoren in Verse. Wenn beispielsweise mehrere Operatoren im selben Ausdruck verwendet werden, ist die Reihenfolge, in der sie ausgewertet werden, von Bedeutung.
Zum Beispiel ergibt
1 + 2 * 3nicht3 * 3, da die Multiplikation Vorrang vor der Addition hat.Der Vorrang des Operators kann durch Gruppierungs-Ausdrücke außer Kraft gesetzt werden.
- Paradigma
Ein typisches Muster oder Modell für etwas. In der Programmierung ist ein Paradigma eine Art, wie eine Programmiersprache organisiert ist. Es gibt vier wesentliche Paradigmen für Programmiersprachen:
Imperativ
Logik
Funktional
Objektorientiert
Außerdem gibt es Multi-Paradigmen-Sprachen, wie Verse.
- parallel
Mehrere Berechnungen, die im selben physikalischen Zeitraum ausgeführt werden, z. B. auf separaten Prozessoren, sind parallel.
- Parameter
Eine Input-Variable, die eine Domäne, z. B. einen Typ, und einen optionalen Standard-Wert enthält, der in einer Funktionssignatur definiert ist und dann im Körper der Funktion verwendet wird. Siehe auch Argument.
- parametrischer Typ
- Parser
Ein Programm zum Analysieren von Code.
- Perforce
Perforce (P4) ist ein Software-Tool, das eine Revisionskontrolle (die auch als Quellcodekontrolle oder Versionskontrolle bezeichnet wird) und so auch eine Methode bietet, um Änderungen am Softwarecode nachzuverfolgen und zu verwalten. Das ist praktisch, wenn Programmiererteams an dem gleichen Projekt arbeiten. Wenn jemand einen Fehler macht, können über die Versionskontrolle frühere Versionen des Codes verglichen werden, um das Problem zu finden und zu beheben, ohne die Arbeit aller Beteiligten zu unterbrechen.
- Pfad
Verse-Pfade bieten einen globalen Namensraum zum Identifizieren von Dingen und lehnen sich an die Idee von Webdomains an. Diese Pfade sind dauerhaft, einzigartig und von jedem Verse-Programmierer auffindbar.
- Pin Pong
Zum Hin- und Herwechseln der Richtung.
- PingPong-Animationsmodus
Die Richtung einer Animation umkehren, wenn das letzte Keyframe erreicht ist, und sie erneut in die entgegengesetzte Richtung abspielen.
- polymorph
Polymorph kommt von poly-, was viele bedeutet, und -morph, was Form bedeutet. Polymorphes Verhalten tritt auf, wenn eine Variable unter verschiedenen Bedingungen unterschiedliche Werte haben kann.
- postfix
Ein Format für einen Operator, bei dem es nur einen Operand gibt und der Operator nach dem Operanden steht.
- primitiver Typ
Ein Primitiv ist ein beliebiger Typ, der nicht aus anderen Typen erstellt wurde. Das bedeutet, dass ein Primitiv kein Komposit ist und nicht weiter zerlegt werden kann. Beispiele für eingebaute primitive Typen sind
void,logic,int,float,rationalundchar. Primitive sind in die Verssprache eingebaut.Siehe auch Containertyp.
- Programm
Ein Programm ist eine Reihe von Anweisungen, die dem Computer mitteilen, wie er etwas tun soll. Die Grundlagen jedes Programms zeigen, wie der Computer Eingaben empfängt und Ausgaben zurückgibt.
Ein Programm löst Probleme. Aber Programme sind sehr wörtlich. Es ist so, als würde man einen Vertrag mit einem Flaschengeist abschließen. Der Geist (das Programm) gibt dir genau das, wonach du fragst. Und zwar genau. Fehler treten auf, wenn der Programmierer Annahmen darüber macht, was passieren soll, anstatt genau zu beschreiben, welche Eingaben empfangen werden können und welche Ausgabe resultieren wird.
- Programmiersprache
Eine formale Sprache, die zum Schreiben von Computerprogrammen verwendet wird. Es gibt viele Programmiersprachen und jede hat ihre eigenen genauen Regeln. Beispiele wären Scratch, eine visuelle Programmiersprache, die zur Entwicklung interaktiver Geschichten, Spiele und Animationen verwendet wird, oder C++, eine textbasierte Sprache, die häufig in der Spieleentwicklung verwendet wird. Verse ist eine Programmiersprache, die von Epic Games für Creators entwickelt wurde, die mehr über die Verwendung von Entwicklungswerkzeugen erfahren möchten.
- Programmierung
Der Akt des Schreibens von Anweisungen (eines Programms), die vom Computer kompiliert und ausgeführt werden können.
- Prädikat
In Verse ist ein Prädikat etwas, das entweder erfolgreich ist oder fehlschlägt.
- Präfix
Ein Format für einen Operator, bei dem es nur einen Operand gibt und der Operator vor dem Operanden steht.
- Pseudocode
Pseudocode ist eine detaillierte Beschreibung in einfacher Sprache (nicht in Programmiersprache), was ein Algorithmus tun soll. Pseudo bedeutet „nicht real“, man könnte Pseudocode also als künstlichen Code bezeichnen. Er ist nützlich, um herauszuarbeiten, was der Zweck eines Algorithmus ist.
Du kannst dir Pseudocode auch als detaillierten Umriss vorstellen. Pseudocode wird normalerweise geschrieben, um einen größeren oder komplexen Teil eines Programms zu planen, bevor echter Code geschrieben wird.
- Qualifizieren
Definieren einer Kennung innerhalb eines Bereichs, der es ermöglicht, dass die Kennung „wiederverwendet“ wird. Du könntest beispielsweise eine Konstante mit dem Namen „Katze“ haben. Du könntest denselben Namen für ein Klassenfeld mit dem Namen „sarah.cat“ verwenden. Beide enthalten „Katze“ im Namen, aber „Sarah.Katze“ wurde qualifiziert.
- RAII
RAII ist ein Akronym für resource acquision is initialization und beschreibt, wenn ein Objekt Ressourcen nur zwischen Initialisierung und Abschluss erwirbt, um Ressourcen effektiver zu verwalten.
- Rationale Zahl
Eine Zahl, die als einfacher Bruch mit zwei Ganzzahlen ausgedrückt werden kann. Zum Beispiel kann 1,75 als 7/4 ausgedrückt werden, aber die Quadratwurzel von 2 (√2) kann nicht als Bruch ausgedrückt werden. Daher wird sie als irrationale Zahl angesehen. Ein weiteres Beispiel für eine irrationale Zahl ist Pi, die mit 3,14159... beginnt. und geht unendlich weiter.
- Raycasting
Beim Raycasting wird von einem Objekt eine unsichtbare Linie in den Raum gezogen, um festzustellen, ob etwas damit kollidiert.
- Reihenfolge der Auswertung
Bezieht sich auf den den Vorrang des Operators – die Reihenfolge, in der bestimmte Operationen in einem Ausdruck ausgeführt werden sollten.
- Rein
Erklärt, dass eine Funktion bei gleicher Eingabe immer genau dieselbe Ausgabe liefert und keine Nebeneffekte hat (in veränderbare Variablen schreibt, veränderbare E/A-Effekte hat usw.).
- Rekursion
Rekursion bedeutet, dass eine Funktion sich selbst aufruft.
- REPL
Read-Evaluate-Print Loop oder REPL ist eine Computerumgebung, in der du Code eingeben und ihn lesen und auswerten lassen kannst, um dann die Ergebnisse anzuzeigen. Mit REPL kannst du eine Sprache erkunden und herausfinden, was funktioniert und was nicht, ohne etwas zu beschädigen.
- return
Ein Ausdruck, der ein Programm anweist, eine Unterroutine zu verlassen und zur Return-Adresse zurückzukehren. Die Return-Adresse ist die Adresse, von der aus die Unterroutine aufgerufen wurde.
Anstatt sich darauf zu verlassen, dass der letzte Ausdruck im Funktionscodeblock den richtigen Wert liefert, kannst du Ergebnis auch explizit mit einem
return-Ausdruck angeben. Wenn der „Return“-Ausdruck ausgeführt wird, verlässt er sofort den Codeblock der Funktion. Das bedeutet, wenn du den Rückgabeausdruck vor anderem Code platzierst, wird der folgende Code nicht ausgeführt.- Rollback
Das Programm in einen zuvor definierten Zustand zurückversetzen, normalerweise, um einen Fehler zu beheben.
- Routine
Siehe Funktion.
- scheitern
In Verse kann jeder Code, den der Benutzer schreibt, standardmäßig nicht fehlschlagen. Das bedeutet, dass anstelle einer Funktion, die Boolesche Werte oder Optionen zurückgibt,
<decides>verwendet wird, um entweder einen Wert, void oder Fehlschlag zurückzugeben.- Schlüssel-Wert-Paar
Wenn ein Schlüssel einem Wert zugeordnet wird, bilden sie zusammen ein Schlüssel-Wert-Paar. Du kannst den Wert mit der Taste nachschlagen.
- Schlüsselwort
Schlüsselwörter sind reservierte Wörter, die für den Compiler eine besondere Bedeutung haben. Beispiele für Schlüsselwörter sind
forundKlasse. Schlüsselwörter können nicht als Kennungen verwendet werden.- Script
Eine in sich geschlossene Menge von ausführbarem Verse-Code, die einem Objekt zugeordnet ist.
- Semantik
- semantische Analyse
Auch bekannt als kontextabhängige Analyse. Die semantische Analyse wird im Compiler ausgeführt, nachdem dieser die erforderlichen semantischen Informationen aus dem Quellcode (dem von dir geschriebenen Code) gesammelt hat. Sie prüft die Konsistenz deines Codes auf semantische Fehler und führt eine Typprüfung durch, um beispielsweise sicherzustellen, dass jeder Operator einen Operanden hat oder dass eine Variable vor der Verwendung deklariert wird.
- Semantischer Fehler
Siehe Compiler-Fehler.
- Semaphor
Ein Semaphor entspricht einem Mutex, abgesehen davon, dass ein Mutex andere Threads von verfügbaren Ressourcen ausschließt, während ein Semaphor nur signalisiert, dass die Ressource verwendet wird.
- Sequentielle Ausführung
Der Code wird im Allgemeinen Zeile für Zeile in der Reihenfolge der Ausdrücke ausgeführt. Dies wird als sequentielle Ausführung bezeichnet.
- Serialisierung
Der Prozess des Lesens von Schreibens von Daten in die oder aus der Speicherndatei. Eine lose Eigenschaft wird mit der gleichen Datei erstellt, die gelesen wird, die eine Eigenschaft hat, welche die Klasse/Struktur nicht hat.
- set
Ein Schlüsselwort, das verwendet werden kann, um den Wert einer Variable zu ändern, während das Programm ausgeführt wird.
Die Syntax dafür lautet
set name = value.setist das Schlüsselwort,nameist der Name der Variable, die geändert werden soll, undvalueist der Zielwert, in den geändert werden soll.Dies wird als Zuweisung bezeichnet.
- Shadowing
Als Shadowing wird bezeichnet, wenn eine Kennung eine andere Kennung verbirgt. Shadowing ist ein Fehler in Verse, der verhindert, dass der Code kompiliert werden kann.
- Simulationsaktualisierung
Eine sich wiederholende Runde, ein sich wiederholender Schritt oder Inkrement von Logik, Verhalten und anderen Berechnungen für eine Simulation. Dies wird häufig mit Aktualisierung abgekürzt oder synonym mit Tick oder Frame verwendet. Eine Simulationsaktualisierung weist normalerweise eine verstrichene Zeit auf, die konstant oder verschieden sein kann. Dies wird häufig als Deltazeit bezeichnet, die mit dem tatsächlichen Verlauf der Zeit zusammenfallen kann. Zum Beispiel kann eine Simulationsaktualisierung schneller als in Echtzeit erfolgen, genauso schnell oder langsamer.
Eine Simulationsaktualisierung erfolgt häufig 1:1 mit dem Frame-Rendering. Das ist bei Verse standardmäßig so. Eine Simulationsaktualisierung kann aber häufiger oder weniger häufig als ein Frame erfolgen, zum Beispiel wenn ein Online-Game-Client nicht mehr synchron mit dem Server oder den Physiksystemen ist, während mehrere Iterationen der Änderungen auf einem simulierten Objekt erfolgen. Es ist auch möglich, dass eine Simulation überhaupt nicht visuell gerendert wird.
- Spawn-Ausdruck
Ein
spawn-Ausdruck startet eine async-Funktion. Jeder Ausdruck, der auf den spawn-Ausdruck folgt, wird sofort ausgeführt ohne Rücksicht darauf, ob derspawn-Ausdruck abgeschlossen wurde. Derspawnwird unabhängig fortgesetzt, bis er abgeschlossen ist.- Spekulative Ausführung
Verse nutzt Fehlerkontexte, damit du Aktionen ausprobieren kannst, bevor du dich auf sie festlegst. Dies wird als spekulative Ausführung bezeichnet. Wenn ein Ausdruck erfolgreich ist, wird sein Effekt festgelegt, beispielsweise der Wert einer Variable geändert. Wenn der Ausdruck fehlschlägt, wird sein Effekt zurückgenommen, als wäre der Ausdruck nicht verwendet worden.
- Spielbereich
Ein Verse API-Modul, mit dem du ein Array von Spielern oder Teams oder das Team für einen bestimmten Spieler abrufen kannst. Außerdem kannst du von Spielern hinzugefügte und von Spielern entfernte Events abonnieren.
- Spielplan
Die Oberfläche, auf der ein Spiel gespielt wird. Traditionell wird der Begriff Spielplan für Gesellschaftsspiele verwendet. Er wird jedoch immer häufiger zur Beschreibung von Videospiel-Leveln verwendet. Bei der Videospieleentwicklung können Spielplan-Level in verschiedene Gebiete oder Zonen aufgeteilt werden, die unterschiedliche Formen, Anordnungen oder Gelände haben. Wie bei Gesellschaftsspiel-Spielplänen können die Spieler Charaktere oder Objekte über das Brett (das Level) bewegen, um im Spiel voranzukommen.
- Spielschleife
Eine Spielschleife ist Code, der wiederholt ausgeführt wird (in einer Schleife), um auf Input zu reagieren (normalerweise der Spieler, der mit dem Controller oder der Maus interagiert), um den Spielstatus zu aktualisieren, und Output liefert, der dem Spieler zeigt, dass sich seine Handlung auf den Spielstatus auswirkt, wenn er zum Beispiel eine Taste drückt, die ein Licht einschaltet. Die Schleife endet normalerweise, wenn das Spiel einen Abschlussstatus erreicht, indem der Spieler zum Beispiel ein Ziel erreicht, oder einen Fehlschlagstatus, wenn die Zeit ausgeht, bevor er das Ziel erreicht.
- Spielzustand
Der Status eines Spiels oder einer anderen Simulation. Er besteht aus allen Datenwerten, die ein System beschreiben. Konstante und variable Werte bestimmen den Systemstatus.
- Splat
Wenn ein Tupel als einzelnes Element bei einer Funktion verwendet wird, ist es so, als wäre die Funktion mit jedem Element des Tupels separat aufgerufen worden. Dies wird als Tupelerweiterung oder Splatting bezeichnet.
- Sprachregion
Beim Programmieren ist eine Gebietsschema ein Parametersatz, der Benutzersprache, -region und weitere Aspekte der Benutzeroberfläche definiert. In Verse ist
Gebietsschemainsbesondere ein Typ, der den Kontext vorgibt, wannMeldungenlokalisiert werden sollen. Es wirkt sich auf die Sprache für Texte und auf Zahlen aus, die auf dem Gebietsschema basieren.- Standardbibliothek
Eine Sammlung von Funktionen, Konstanten und anderen in Verse verfügbaren Sprachdefinitionen. Diese Bibliothek stellt Implementierungen für allgemeine Programmieranforderungen bereit. Sie dient als Ressource für Elemente, die Programmierer häufig verwenden, beispielsweise mathematische Funktionen.
- Stark typisiert
Eine Programmiersprache ist stark typisiert, wenn jeder Kennung ein Typ zugewiesen ist. Ist der Typ nicht explizit angegeben, wird er abgeleitet. Dies bedeutet, dass die Sprache keine unvorhersehbaren Ergebnisse bei Laufzeit erzeugt, da die Typen der Bezeichner und die Auswirkungen von Operationen auf die Typen bekannt sind. Siehe auch statische Prüfung.
- Statische Prüfung
Automatische Prüfung während der Kompilierung, die Bugs anhand der Semantik des Codes erkennen kann.
- STM
Abkürzung von „Software Transactional Memory“ (Software-Transaktionsspeicher). Mechanismus zur Steuerung des gleichzeitigen Zugriffs analog zu Datenbanktransaktionen, die bei gleichzeitiger Programmierung den Zugriff auf gemeinsam genutzten Speicher steuern. Verse wird zukünftig STM enthalten, weil dies unter anderem Leistungssteigerungen bei großen verteilten Simulationen bedeutet.
- Strukturierte Gleichzeitigkeit
Strukturierte Gleichzeitigkeit beschreibt gleichzeitige Vorgänge innerhalb einer Lebensspanne, die auf einen bestimmten gleichzeitigen Befehl und auf den async-Kontextbereich beschränkt ist. Es handelt sich um einen strukturierten Kontrollfluss wie
if,foroderreturn, der auf einen zugehörigen Bereich einschränkt.Strukturierte Gleichzeitigkeitsausdrücke in Verse umfassen
sync,race,rushundbranch.- Subroutine
Ein Satz von Anweisungen innerhalb eines Computerprogramms, der zur Ausführung einer häufig verwendeten Operation entwickelt wurde. Subroutinen sind mit Funktionen vergleichbar mit dem Unterschied, dass Funktionen Berechnungen ausführen und die Ergebnisse an den Aufrufer zurückgeben. Subroutinen dagegen arbeiten, ohne dem aufrufenden Programm eine Rückmeldung zu geben.
- Superklasse
Klassen können von einer Superklasse erben, was alle Felder der Superklasse in der erbenden Klasse einschließt. Solche Klassen werden als Subklasse der Superklasse bezeichnet.
- Supertyp
Ein Supertyp ist ein Typ, der mindestens einen Subtyp hat. Alle Operationen, die vom Supertyp unterstützt werden, müssen auch von seinen Subtypen unterstützt werden. In Verse ist
anyder Supertyp über allen anderen Typen und alle anderen Typen sind Untertypen vonany. Der Typcomparableist ein Supertyp für alle Typen, die in Verse vergleichbar sind, wie zum Beispielintundfloat.- Suspends
Ein Effekt, der eine Funktion unterbricht (aussetzt), ohne sie abzubrechen. Ein
suspends-Ausdruck ermöglicht [async-Funktionen das Aussetzen und kooperative Übertragen der Kontrolle an andere gleichzeitige Ausdrücke, bevor er abgeschlossen ist.Weitere Informationen findest du unter Gleichzeitigkeit.
- Syntax
Regeln bzw. Grammatik der Programmiersprache.
Siehe auch Semantik.
- Syntax-Fehler
Siehe Compiler-Fehler.
- Thread
Kleinste Verarbeitungseinheit, die in einem Betriebssystem ausgeführt werden kann.
- Tick
Siehe Simulationsaktualisierung, was synonym zu Tick und teilweise zu Frame ist.
- Top-Level-Ausdruck
Ein Ausdruck, der nicht in einen Codeblock geschachtelt ist. Top-Level-Ausdrücke können auch zusammengesetzte Ausdrücke sein, beispielsweise [geschachtelteCodeblöcke.
- Transacts
Wenn eine Funktion den
transacts-Effekt aufweist, kann sie Daten lesen und schreiben. Diese Aktionen können zurückgenommen werden, wenn die Funktion außerdem den decides-Effekt aufweist. Dieser Effekt ist ein exklusiver Effekt.Funktionen, bei denen kein exklusiver Effekt angegeben ist, können Daten lesen und schreiben, doch es ist kein Rollback möglich.
- Typ
Der Typ definiert, welche Operationen bei Daten ausgeführt werden können und wie die Daten oder Werte für diesen Typ gespeichert werden. Es gibt allgemeine Typen wie Ganzzahl und String, Composite-Typen und benutzerdefinierte Typen. Siehe auch Grundkörper-Typ und Containertyp. Das Schlüsselwort
typekann mit geschweiften Klammern verwendet werden, um einen erwarteten Typ zu definieren. Funktionsdeklarationen und numerische Bereiche werden derzeit als Deklarationen unterstützt. Zum Beispiel verwendet die FunktionSubscribe()für die Schnittstellesubscribabledas Schlüsselworttype, um zu definieren, dass seinCallback-Parameter eine Funktion mit dem Rückgabetypvoidsein muss.VerseSubscribe<public>(Callback:type {__(:t):void})<transacts>:cancelable- Typ-Alias
Ein Typ-Alias ist eine Möglichkeit, einen neuen Namen für einen vorhandenen Typ zu erstellen. Deklarierst du einen Typ-Alias, kannst du den Aliasnamen anstelle des vorhandenen Typs verwenden. Ein Typ-Alias erstellt keinen neuen Typ, sondern bietet nur einen neuen Namen für einen vorhandenen Typ.
- Typ-Casting
Du kannst eine Klasse in eine ihrer Subklassen konvertieren (Type Casting genannt), indem du die Syntax
NewReference := type_to_cast_to[Reference]verwendest, wobeitype_to_cast_toder Typ ist, den du verwenden willst. Dies ist ein fehlbarer Ausdruck, weil die Umwandlung des Typs fehlschlägt, wenn das Objekt nicht in diesen Typ umgewandelt werden kann – zum Beispiel, wenn die Klasse einen anderen Typ hat als die Subklasse.Das folgende Beispiel zeigt, wie du
TaggedDevice, das den Typcreative_device_basehat, in einen Typcustomizable_light_devicekonvertierst, damit du seine spezifischen Funktionen nutzen kannst. Ist dasTaggedDevicekein anpassbares Lichtgerät, wird es nichtTurnOn()aufrufen.Verseif (LightDevice := customizable_light_device[TaggedDevice]): LightDevice.TurnOn()- Typüberprüfung
Typüberprüfung wird verwendet, um ein Programm vor der Ausführung zu überprüfen. Dadurch werden Datentypwerte und -syntax überprüft. Der Hauptzweck eines Typsystems in einer Programmiersprache besteht darin, die Wahrscheinlichkeit von Bugs im Programm aufgrund von Typfehlern zu verringern.
- Umgestalten
Die Struktur des Codes zu ändern, ohne seine Funktionalität zu verändern. Beispielsweise könnte ein Code-Block, der in einem Programm mehrfach wiederholt wird, stattdessen in einen Funktionsaufruf umgewandelt werden. Refactoring kann die Lesbarkeit des Codes verbessern und die Komplexität des Codes reduzieren, ohne das Verhalten des Codes zu verändern.
- unendliche Rekursion
Eine unendliche Rekursion tritt auf, wenn eine Funktion sich selbst direkt oder indirekt aufruft. Dies führt dazu, dass die Funktion immer wieder versucht, sich selbst aufzurufen, ohne jemals beendet zu werden. Das führt dazu, dass das Programm hängt.
- Unicode
Vom Unicode Consortium entwickelter Standard, um sprachen-, plattform- und geräteübergreifend eine vergleichbare Unterstützung für Zeichen bereitzustellen.
- unmittelbar
Ein unmittelbarer Ausdruck wird ohne Verzögerung ausgewertet, was bedeutet, dass die Auswertung innerhalb der aktuellen Simulationsaktualisierung abgeschlossen wird.
- unset
- Unstrukturierte Gleichzeitigkeit
Gleichzeitige Ausdrücke mit einer Lebenszeit, die nicht logisch auf einen bestimmten gleichzeitigen Befehl oder einen asynchronen Kontextbereich beschränkt ist. Diese Lebensdauer erstreckt sich möglicherweise über den Bereich hinaus, in dem sie ausgeführt wurde. Sie ähnelt dem unstrukturierten Kontrollfluss wie den Befehlen
gotooderassembly jump.- Unterausdruck
Ein Ausdruck, der in einen Codeblock geschachtelt ist.
- Untermodul
Ein Verse-Modul, das in einem anderen Verse-Modul enthalten ist. Du kannst es dir wie Ordner und Unterordner vorstellen – jedes Untermodul fügt dem Pfad ein weiteres /NameOfModule hinzu, wenn es weiter nach unten geht.
- Untertyp
Ein Typ, der alle Operationen seines Supertyps unterstützt. Das Schlüsselwort
subtypekann mit Klammern verwendet werden, um festzulegen, dass ein Typ auf einen bestimmten Typ beschränkt ist. Zum Beispiel verwenden verschiedene [Array-Methodensubtype, um zu definieren, dass alle Elemente des Arrays einen vergleichbaren Supertyp haben müssen, damit die Methode funktioniert.Verse(Input:[]t where t:subtype(comparable)).RemoveFirstElement<public> (ElementToRemove:t)<computes><decides>:[]t RemoveFirstElementHierfür müssen die Arrayelemente den Supertyp
comparablehaben, damit er bestimmen kann, ob Elemente in dem Array gleich dem ArgumentElementToRemovesind.- unveränderlich
Nachdem ein Objekt erstellt wurde, kann sein Status nicht geändert werden. Siehe auch veränderlich.
- UTF-8
Das Zeichenkodierungsschema Unicode, ein vom Unicode Consortium entwickelter Standard, um für Zeichen über Sprachen und Plattformen und Geräte hinweg eine vergleichbare Unterstützung bereitzustellen.
Emojis sehen aus wie Bilder oder Symbole, sind aber keine. Es handelt sich um Buchstaben (Zeichen) aus dem Zeichensatz UTF-8 (Unicode).
UTF-8 deckt fast alle Zeichen und Symbole der Welt ab.
- Variable (Code)
Ein Wert, der während der Ausführung eines Programms geändert werden kann. Der Wert wird als Variable bezeichnet, weil er variieren kann.
Manchmal bezieht sich der Begriff „Variable“ auf Variablen und Konstanten zusammen, aber obwohl Variablen und Konstanten ähnlich sind, haben sie einen wichtigen Unterschied – der Wert einer Konstante kann nicht geändert werden, während ein Programm läuft.
Die Basis-Syntax für eine Variable lautet
var name : type = value.varist ein Schlüsselwort, das angibt, dass es sich um eine Variable handelt undnameist ein Name, welcher der Variablen zugewiesen wird (als Kennung bekannt).:gibt an, das nun ein Typ folgt.=gibt an, dass nun ein Wert folgt. Danach steht der Wert. Beispiel:VersePlayerSpeed : float = 2.0Dies besagt, dass PlayerSpeed einen Wert von 2,0 hat, dargestellt als Dezimalwert, der sich während der Ausführung des Programms nicht ändert.
Name und Typ sind die Deklaration, und bei der Initialisierung wird der Wert ausgedrückt. Einer Variable muss kein Wert zugewiesen sein, wenn sie initialisiert wird, aber die Zuweisung ist eine gute Vorgehensweise.
Variablen unterscheiden sich insofern von Konstanten, als ihr Wert jederzeit geändert werden kann. Dies geschieht mithilfe eines Zuweisungsausdrucks.
- varies
Dieser Effekt zeigt an, dass die gleichen Inputs in die Funktion nicht immer den gleichen Output erzeugen. Der Effekt
varieszeigt auch an, dass das Verhalten der Funktion bei neuen Versionen ihres Containers nicht unbedingt gleich bleibt.- verbreiten
Verbreiten in einer Funktion ist das, was passiert, wenn der Aufrufer sich nicht darum kümmern muss, was im Fall eines Fehlschlags passiert. Beispielsweise könnte eine Funktion mit dem
decides-Effekt von einer anderen Funktion mit demdecides-Effekt aufgerufen werden. Was auch immer den Anrufer angerufen hat, müsste sich dann um den Ausfall kümmern.- Vererbung
In Verse kannst du eine Klasse erstellen, die die Definition einer anderen Klasse erweitert, indem du die Felder und Methoden der anderen Klasse hinzufügst oder änderst. Dies wird oft als Unterklassenbildung oder Vererbung bezeichnet, da eine Klasse Definitionen von der anderen Klasse erbt.
- Vergleichsausdruck
In Verse bezeichnen Vergleichsausdrücke, wenn zwei Dinge mit einem der Ungleichungsoperatoren verglichen werden:
<,>,<=,>=,<>.- verketten
Siehe Verkettung.
- Verkettung
Verkettung bezeichnet den Vorgang, bei dem ein String an einen anderen String angehängt (hinzugefügt) wird. Du kannst den Operator + verwenden, um Strings zu verketten.
- Verknüpfte Liste
Eine lineare Datenstruktur, in der jedes Element einen Verweis auf das nächste Element in der Liste speichert.
- verschachtelt
Wenn Code verschachtelt ist, ist ein Codeblock in einem anderen Codeblock enthalten, der eine umfassendere Funktion ausführt.
- Verschalen
Eine mathematische Operation, die einen rationalen Wert auf die nächste Ganzzahl aufrundet. Siehe auch
Floor.- Verse
Verse ist eine statisch geprüfte Programmiersprache mit Schwerpunkt auf Gameplay-Programmierung.
- Verse-autorisiertes Gerät
Ein Gerät zur Verwendung in Unreal Editor für Fortnite (UEFN), das mithilfe von Verse direkt programmiert wird.
- Verse-Explorer
- Verse-Pfad
Siehe Pfad.
- versenden
Versenden heißt, etwas irgendwo hinschicken. In Verse könnte dies beispielsweise darin bestehen, einen Aufruf an eine Funktion zu senden oder ein Event an einen Listener zu senden.
- Vertrag mit dem Flaschengeist
Das Schreiben von Code wird manchmal mit dem Abschluss eines Vertrags mit dem Flaschengeist verglichen, in dem Sinne, dass ein Programm den Anweisungen genau folgt, selbst wenn das Ergebnis nicht genau deinen Erwartungen entspricht. Siehe auch Programm.
- Verzweigungsausdruck
Ein
branch-Ausdruck startet einen Block mit einem oder mehreren asynchronen Unterausdrücken. Jeder folgende Ausdruck wird sofort ausgeführt.Weitere Informationen findest du unter Gleichzeitigkeit.
- veränderlich
Das bezieht sich auf einen Objektzustand, der nach der Erstellung noch geändert werden kann. In Verse ist Veränderlichkeit nur mit Zeigern möglich.
Siehe auch unveränderlich.
- Visual Studio Code
Visual Studio Code oder VS-Code ist ein Quellcode-Editor von Microsoft für Windows, Linux und macOS.
- Visuelle Programmiersprache
Programmiersprachentyp, bei welcher der Programmierer visuelle Elemente verwendet, indem er sie verschiebt und mit anderen Elementen verbindet, um eine bestimmte Abfolge von Programmanweisungen zu erzielen.
- Vorkaufsrecht
Das Unterbrechen der Ausführung einer Aufgabe mit der Absicht, sie zu einem späteren Zeitpunkt fortzusetzen, wird als Aussetzen bezeichnet. Das wird normalerweise von einem externen Planer ohne Unterstützung oder Mitwirkung durch die Aufgabe durchgeführt.
- Vorrang
Die Reihenfolge, in der bestimmte Operationen in einem Ausdruck ausgeführt werden müssen.
- Vorzeichenbehaftete Ganzzahl
Eine Vorzeichenbehaftete Ganzzahl ist ein Wert, der eine negative oder positive Zahl, aber auch Null enthalten kann. Sie wird als vorzeichenbehaftete Ganzzahl bezeichnet, weil mit einem „+“- oder „-“-Zeichen ganz links angegeben werden kann, ob die Zahl positiv oder negativ ist. Vorzeichenlose Ganzzahlen können nur positive Zahlen oder Null sein.
- VPL
Siehe Visuelle Programmiersprache.
- Wert
Ein Wert ist die Information, mit der dein Programm läuft. Beispiele für Werte sind Zahlen oder Text.
- Zeichen
Ein Datentyp, der ein einzelnes Zeichen speichert.
- Zeichenkodierung
Die Zeichencodierung ist die Zuordnung zwischen einem Textzeichen und Daten, die der Computer verstehen kann, und wird als Codepunkt bezeichnet.
- Zeiger
Ein Zeiger ist eine Möglichkeit, auf eine veränderbare „Box“ zu verweisen, die einen bestimmten Wert Typ enthalten kann. Mit einem Zeiger kannst du den spezifischen Wert in diesem Feld ändern. Siehe auch Wert.
- Zeigervariable
Eine Zeiger-Variable zeigt auf einen Speicherort, an dem ein Wert gespeichert ist. Nachdem du eine Zeigervariable erstellt hast, kannst du den Speicherort der Zeigervariablen nicht ändern, aber du kannst den an diesem Speicherort gespeicherten Wert ändern.
- Zeitablauf
Ein Rasterabschnitt auf einer Oberfläche wie Boden oder Wand.
Die Zeitablaufsteuerung ist das Herzstück der Programmiersprache Verse. Sie wird mithilfe von gleichzeitigen Ausdrücken realisiert.
Es handelt sich um eine Art von Kontrollfluss, doch während es beim Kontrollfluss um die Reihenfolge der Ausdrücke im Programm geht, nach denen der Computer die Ausdrücke ausführt, steuert der Zeitablauf deren zeitliche Ausführung basierend auf der Verwendung von Gleichzeitigkeitsausdrücken.
Zeitablauf ist ein anderer Ausdruck für Gleichzeitigkeit.
- Zugangsbezeichner
Zugriffsbezeichner definieren die Zugriffsebene. Im Folgenden sind alle Zugriffsbezeichner aufgeführt, die du mit Klassen verwenden kannst:
public: Uneingeschränkter Zugriff.
internal: Der Zugriff ist auf das aktuelle Module begrenzt. Dies ist die Standard-Zugang.
protected: Der Zugriff ist auf die aktuelle Klasse und alle Subklassen beschränkt.
private: Der Zugriff ist auf die aktuelle Klasse beschränkt.
- Zugriffslevel
Die Berechtigungen, die für den Zugriff auf ein Mitglied erforderlich sind. Diese werden mit einem Bezeichner für das Mitglied angegeben.
- Zukunft
Eine Aufgabe, deren Ausführung begonnen hat, die jedoch ohne Abbruch angehalten wurde. Sie heißt „future“, weil sie irgendwann in der Zukunft abgeschlossen wird.
- zum Ausdruck
Ein
for-Ausdruck, manchmal auch als for-Schleife bezeichnet, ist dasselbe wie ein Schleifen-Ausdruck, außer dassfor-Ausdrücke beschränkt sind, was bedeutet, dass die Anzahl der Iterationen bekannt ist, bevor diefor-Schleife ausgeführt wird. Weitere Informationen findest du unter For.- zusammengesetzter Typ
Ein zusammengesetzter Datentyp, manchmal auch compound oder aggregate genannt, ist jeder Typ aus Feldern oder Elementen (normalerweise benannt) von Grundkörper- oder anderen zusammengesetzten Typen. Er weist normalerweise eine feste Anzahl von Feldern oder Elementen für seine Lebensdauer auf. Verse verwendet derzeit die Composite-Typen „struct“, „class“, „enum“, „interface“ und „module“.
- Zusatzeffekt
Ein additiver Effekt ist ein Effekt, der zu einem exklusiven Effekt hinzugefügt werden kann. Zu den additiven Effekten gehören
suspendsunddecides.- Zustand
Ein Zustand ist die Kombination aus ursprünglichen Werten in einem Objekt und den Änderungen, die daran vorgenommen wurden.
- Zuweisungsausdruck
In Verse speichert ein Zuweisungsausdruck einen Wert an einer veränderbaren Stelle, z. B. beim Initialisieren einer Variable oder beim Ändern des Wertes einer Variable.
- Zwang
Die Umwandlung eines Wertes in verschiedene Datentypen. Typumwandlungen können implizit oder explizit vorgenommen werden. Implizite Konvertierung. Auch Zwang genannt, geschieht automatisch.
- Änderungsliste
Eine Methode zum Nachverfolgen von Änderungen an einer Datei in Perforce zwischen lokalen Dateien, die auf deinem Computer gespeichert sind, und Dateien, die an den Server gesendet und mit den Quelldateien für das Projekt zusammengeführt werden. Eine Änderungsliste wird auch als CL bezeichnet.
- öffentliches Mitglied
- Überladung
Die Überladung einer Funktion oder eines Operators bedeutet, dass derselbe Funktionsname oder dasselbe Operatorsymbol unterschiedliche Parameter haben kann. Sagst du beispielsweise, dass ein 3D-Vektor gleich einem anderen 3D-Vektor ist, wie (1,2,3), ist das ziemlich klar. Aber du kannst den Gleichheitsoperator verwenden, um zu sagen, dass dein 3D-Vektor einer einzelnen Zahl entspricht, z. B. 1. In diesem Fall wird der 3D-Vektor möglicherweise auf (1,1,1) gesetzt, aber der überladende Teil besteht darin, dass es mehrere „3D-Vektor =“-Operatoren mit unterschiedlichen Parametern gibt. Die Sprache müsste sich den Kontext ansehen, um zu sehen, welcher verwendet werden soll.
- „race“-Zustand
Ein „race“-Zustand liegt vor, wenn ein Programm versucht, mehrere Operationen zeitgleich auszuführen, die nacheinander ausgeführt werden müssen.
- „range“-Ausdruck
Range-Ausdrücke enthalten alle Zahlen zwischen und einschließlich der beiden angegebenen Werte, mit
..zwischen den Werten; zum Beispiel1..5. Bereichsausdrücke können nur an einigen Stellen verwendet werden, z. B. infor-Ausdrücken.- „self“-Variable
Selfist eine spezielle Kennung in Verse, die in einer Klassenmethode verwendet werden kann, um auf die Instanz der Klasse zu verweisen, für die die Methode aufgerufen wurde. Du kannst auf andere Felder der Instanz verweisen, auf der die Methode aufgerufen wurde, ohneSelfzu verwenden, aber wenn du auf die Instanz als Ganzes verweisen musst, musst duSelfverwenden.