Skip to content

Commit

Permalink
Project translation
Browse files Browse the repository at this point in the history
  • Loading branch information
Ragnar-F committed Mar 27, 2024
1 parent 52e16b1 commit 37263d0
Show file tree
Hide file tree
Showing 414 changed files with 87 additions and 455 deletions.
1 change: 0 additions & 1 deletion target/docs/404.htm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>

<body>
Expand Down
1 change: 0 additions & 1 deletion target/docs/AHKL_DBGPClients.htm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>
<body>

Expand Down
30 changes: 24 additions & 6 deletions target/docs/ChangeLog.htm
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,31 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>
<body>
<h1>Änderungen und neue Features</h1>
<p><a href="v2-changes.htm">Änderungen von v1.1 bis v2.0</a> behandelt die Unterschiede zwischen v1.1 und v2.0.</p>
<p>Alle technischen Einzelheiten zu den Änderungen finden Sie auf <a href="https://github.com/AutoHotkey/AutoHotkey/tree/alpha">GitHub</a>.</p>

<h2 id="v2.0.12">2.0.12 - 23. März 2024</h2>
<p>Behoben: Gui GetPos/GetClientPos bei einer Gui mit einem übergeordneten Fenster oder +DPIScale.</p>
<p>Behoben: Until verhinderte die Rekursion von Unterordnern in Dateischleifen.</p>
<p>Behoben: DllCall löst nun eine Ausnahme beim UStr-Argumenttyp aus.</p>
<p>Behoben: Ein Speicherleck, das bei jedem Regex-Callout auftrat.</p>
<p>Behoben: Send löste fälschlicherweise einen Modifikator aufgrund einer Race Condition aus. Zum Beispiel löste <code>~LAlt::Send "{Blind}x"</code> gelegentlich LAlt aus, wenn ein anderer Tastatur-Hook als der eigene Hook des Skripts installiert war.</p>
<p>Behoben: Der Symbol-Lader bevorzugt nun eine höhere Bittiefe, wenn mehrere Bitmaps gleicher Größe vorhanden sind.</p>
<p>Behoben: SendInput konnte LCtrl nicht loslassen, wenn es bereits RAlt losgelassen hatte und das Layout kein AltGr hatte.</p>
<p>Behoben: Taste-Oben-Hotkeys werden nicht mehr ausgelöst, wenn die Taste nach einer Modifikatoränderung wiederholt gedrückt wird. Zum Beispiel sollte <code>F1::Send "{Ctrl down}"</code> die Ausführung von <code>F1 up::</code> erlauben, wenn die Taste losgelassen wird, obwohl Ctrl unten ist, aber erlaubte es nicht nach einer Tastenwiederholung.</p>
<p>Behoben: Eine Fehlermeldung bezog sich auf #HotIf statt auf #IfWin. [PR #327]</p>
<p>Behoben: OwnProps übersprang fälschlicherweise Eigenschaften mit optionalen Parametern.</p>
<p>Behoben: Inkonsistentes Verhalten von geklonten dynamischen Eigenschaften.</p>
<ul>
<li>OwnProps, das keine geklonten Eigenschaften mit Pflichtparametern überspringt.</li>
<li>Parameter, die nicht rekursiv an parameterlose Eigenschaften übergeben werden (d.h. damit <code>a.b[c]</code> als <code>(a.b)[c]</code> ausgewertet werden kann).</li>
</ul>
<p>Behoben: SysGetIPAddresses verursacht keinen kritischen Fehler mehr, wenn das Netzwerk-Subsystem nicht funktionsfähig ist, z.B. im abgesicherten Modus von Windows.</p>
<p>Geändert: ControlGetFocus gibt nun 0 zurück, wenn der Fokus nicht ermittelt werden kann, z.B. wenn ein Konsolenfenster aktiv ist.</p>

<h2 id="v2.0.11">2.0.11 - 23. Dezember 2023</h2>
<p>Hinzufügt: Workaround für das erste angezeigte Menü, das in Windows 10 keine Tastatureingaben akzeptierte.</p>
<p>Behoben: Die <a href="lib/Gui.htm#Add">Add-Methode (Gui)</a> unterstützt nun die ShortDate-Option für DateTime-Steuerelemente.</p>
Expand All @@ -40,11 +58,11 @@ <h2 id="v2.0.9">2.0.9 - 17. September 2023</h2>

<h2 id="v2.0.8">2.0.8 - 11. September 2023</h2>
<p>Behoben: ByRef-Parameter weisen der VarRef des Aufrufers nicht mehr fälschlicherweise den Standardwert zu, wenn ungesetzt.</p>
<p>Behoben: Einige Probleme bzgl. unterdrückter Alt/Strg/Umschalt/Win-Hotkeys, zum Beispiel:</p>
<p>Behoben: Einige Probleme mit unterdrückten Alt/Strg/Umschalt/Win-Hotkeys, wie zum Beispiel:</p>
<ul>
<li><code>*LCtrl::</code> hat LCtrl des aktiven Fensters blockiert, aber das Senden von Alt-Tastenkombinationen würde fehlschlagen, weil das System denkt, dass Ctrl unten ist, und daher WM_KEYDOWN statt WM_SYSKEYDOWN senden würde.</li>
<li><code>*LAlt::</code> hat das System dazu veranlasst, jedes vorherige <code>{LAlt DownR}</code> zu vergessen, so dass eine Neubelegung wie <code>LCtrl::LAlt</code> sich nicht korrekt verhalten würde, während LAlt physisch unten ist, auch wenn LAlt unterdrückt wurde.</li>
<li>Andere potenzielle Probleme, wo das systeminterne Low-Level-Tracking einer Modifikatortaste nicht mit dem logischen Status übereinstimmt.</li>
<li><code>*LCtrl::</code> blockierte LCtrl vom aktiven Fenster, aber das Senden von Alt-Tastenkombinationen würde fehlschlagen, weil das System denkt, dass Ctrl unten ist, und daher WM_KEYDOWN statt WM_SYSKEYDOWN senden würde.</li>
<li><code>*LAlt::</code> hat das System dazu veranlasst, alle vorherigen <code>{LAlt DownR}</code> zu vergessen, sodass sich eine Neubelegung wie z.B. <code>LCtrl::LAlt</code> nicht korrekt verhält, wenn LAlt physisch unten ist, auch wenn LAlt unterdrückt wurde.</li>
<li>Andere potenzielle Probleme, bei denen das Low-Level-Tracking einer Modifikatortaste durch das System nicht mit dem logischen Zustand übereinstimmt.</li>
</ul>
<p>Behoben: Einige Probleme bzgl. Fortsetzungsbereiche:</p>
<ul>
Expand All @@ -58,7 +76,7 @@ <h2 id="v2.0.8">2.0.8 - 11. September 2023</h2>
<h2 id="v2.0.7">2.0.7 - 2. September 2023</h2>
<p>Behoben: Bei MouseClickDrag können nun X1 und Y1 weggelassen werden.</p>
<p>Behoben: Maus-AltTab-Hotkeys unterdrückten nicht die Ausführung eines Präfix-Hotkeys, z.B. <code>1::</code> für <code>1 &amp; WheelDown::AltTab</code>. (fehlerhaft seit v2.0.4)</p>
<p>Behoben: Hook-Hotkeys erkannten keine Modifikatoren, die via SendInput nach unten gedrückt wurden.</p>
<p>Behoben: Hook-Hotkeys erkannten keine Modifikatoren, die mit SendInput nach unten gedrückt wurden.</p>
<p>Behoben: A_AhkPath ist nun nicht mehr auf die Groß-/Kleinschreibung oder das Format der Befehlszeile angewiesen, die/das zum Starten des Prozesses verwendet wird.</p>
<p>Behoben: Heap-Korruption bei einer Fenstersuche mit Gruppen. (fehlerhaft seit v2.0.6)</p>
<p><strong>Launcher</strong></p>
Expand Down
1 change: 0 additions & 1 deletion target/docs/Compat.htm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>
<body>

Expand Down
1 change: 0 additions & 1 deletion target/docs/Concepts.htm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>
<body>
<h1>Konzepte und Konventionen</h1>
Expand Down
1 change: 0 additions & 1 deletion target/docs/FAQ.htm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<meta name="description" content="Diese Seite enthält Fragen und Antworten zu allgemeiner Problembehandlung, allgemeinen Aufgaben, Hotkeys, Hotstrings und Neubelegung." />
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>
<body>

Expand Down
1 change: 0 additions & 1 deletion target/docs/Functions.htm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>

<body>
Expand Down
1 change: 0 additions & 1 deletion target/docs/HotkeyFeatures.htm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>

<body>
Expand Down
1 change: 0 additions & 1 deletion target/docs/Hotkeys.htm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>
<body>

Expand Down
1 change: 0 additions & 1 deletion target/docs/Hotstrings.htm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>
<body>

Expand Down
1 change: 0 additions & 1 deletion target/docs/KeyList.htm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>
<body>
<h1>Tastenliste <span class="headnote">(Tastatur, Maus und Controller)</span></h1>
Expand Down
1 change: 0 additions & 1 deletion target/docs/Language.htm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>
<body>
<h1>Skriptsprache</h1>
Expand Down
1 change: 0 additions & 1 deletion target/docs/ObjList.htm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>
<body>

Expand Down
10 changes: 7 additions & 3 deletions target/docs/Objects.htm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
<style>
ul.list_of_p p { margin: 0.5em 0; }
ul.list_of_p li { margin: 1em 0; }
Expand Down Expand Up @@ -305,15 +304,20 @@ <h4 id="Custom_Classes_staticvar">Statische bzw. Klassenvariablen</h4>
<p>Deklarationen wie <code>static x.y := z</code> werden ebenfalls unterstützt, sofern vorher <code>x</code> in dieser Klasse definiert wurde. Zum Beispiel bewirkt <code>static x := {}, x.y := 42</code>, dass <code>x</code> deklariert und außerdem <code><i>KlasseName</i>.x.y</code> initialisiert wird. Da <a href="lib/Class.htm#Prototype">Prototype</a> implizit in jeder Klasse definiert ist, können mit <code>static Prototype.geteilterWert := 1</code> Werte gesetzt werden, die dynamisch von allen Instanzen der Klasse geerbt werden (bis sie durch eine Eigenschaft der Instanz selbst "überschrieben" werden).</p>

<h4 id="Custom_Classes_class">Verschachtelte Klassen</h4>
<p>Verschachtelte Klassendefinitionen ermöglichen es, ein Klassenobjekt mit einer statischen bzw. Klassenvariable der äußeren Klasse zu assoziieren, anstatt mit einer separaten globalen Variablen. Im obigen Beispiel konstruiert <code>class VerschachtelteKlasse</code> ein <a href="lib/Class.htm">Class</a>-Objekt und speichert es in <code>KlasseName.VerschachtelteKlasse</code>. Unterklassen können <em>VerschachtelteKlasse</em> erben oder es mit ihrer eigenen verschachtelten Klasse überschreiben (in diesem Fall kann mit <code>(<i>WelcheKlasse</i>.VerschachtelteKlasse)()</code> die entsprechende Klasse instanziiert werden).</p>
<p>Verschachtelte Klassendefinitionen ermöglichen es, ein Klassenobjekt mit einer statischen bzw. Klassenvariable der äußeren Klasse zu assoziieren, anstatt mit einer separaten globalen Variablen. Im obigen Beispiel konstruiert <code>class VerschachtelteKlasse</code> ein <a href="lib/Class.htm">Class</a>-Objekt und speichert es in <code>KlasseName.VerschachtelteKlasse</code>. Unterklassen können <em>VerschachtelteKlasse</em> erben oder es mit ihrer eigenen verschachtelten Klasse überschreiben (in diesem Fall kann mit <code><i>WelcheKlasse</i>.VerschachtelteKlasse()</code> die entsprechende Klasse instanziiert werden).</p>
<pre>
class VerschachtelteKlasse
{
...
}
</pre>
<p>Das Verschachteln einer Klasse impliziert keine besondere Beziehung zur äußeren Klasse. Weder wird die verschachtelte Klasse automatisch instanziiert, noch haben Instanzen der verschachtelten Klasse eine Verbindung zu einer Instanz der äußeren Klasse, es sei denn, das Skript stellt diese Verbindung explizit her.</p>
<p>Aufgrund der Funktionsweise der Methoden bei <a href="lib/Object.htm">Objekten</a> übergibt <code><i>WelcheKlasse</i>.VerschachtelteKlasse()</code> jedoch implizit <em>WelcheKlasse</em> als ersten Parameter, äquivalent zu <code><i>WelcheKlasse</i>.VerschachtelteKlasse.Call(<i>WelcheKlasse</i>)</code>. Sofern <code>static Call()</code> nicht überschrieben ist, wird dieser Parameter automatisch an <a href="#Custom_NewDelete">__New</a> übergeben.</p>
<p>Jede verschachtelte Klassendefinition erzeugt eine dynamische Eigenschaft mit <em>Get</em>- und <em>Call</em>-Akzessorfunktionen anstelle einer einfachen Werteigenschaft. Damit soll das folgende Verhalten unterstützt werden (wobei die Klasse X die verschachtelte Klasse Y enthält):</p>
<ul>
<li><code>X.Y()</code> übergibt X nicht an <code>X.Y.Call</code> und letztlich an <code>__New</code>, was sonst passieren würde, da dies das normale Verhalten für Funktionsobjekte ist, die als Methoden aufgerufen werden (so wie die verschachtelte Klasse hier verwendet wird).</li>
<li><code>X.Y := 1</code> ist standardmäßig ein Fehler (die Eigenschaft ist schreibgeschützt).</li>
<li>Die Klasse wird initialisiert, sobald sie das erste Mal referenziert oder aufgerufen wird.</li>
</ul>

<h4 id="Custom_Classes_method">Methoden</h4>
<p>Methodendefinitionen sehen genauso aus wie Funktionsdefinitionen. Jede Methodendefinition erstellt ein <a href="lib/Func.htm">Func</a> mit einem versteckten ersten Parameter namens <code>this</code> und definiert eine Eigenschaft, die zum Aufrufen der Methode oder zum Abrufen ihres Funktionsobjekts verwendet wird.</p>
Expand Down
1 change: 0 additions & 1 deletion target/docs/Program.htm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>
<body>
<h1>Verwendung des Programms</h1>
Expand Down
2 changes: 1 addition & 1 deletion target/docs/Scripts.htm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>
<body>

Expand Down Expand Up @@ -127,6 +126,7 @@ <h2 id="continuation">Eine lange Zeile in mehrere kurze Zeilen aufteilen</h2>
<p>Wenn die Zeile über dem Fortsetzungsbereich mit einem <a href="Concepts.htm#names">Namenszeichen</a> endet und der Bereich nicht innerhalb eines Anführungszeichens beginnt, wird automatisch ein einzelnes Leerzeichen eingefügt, um den Namen vom Inhalt des Fortsetzungsbereichs zu trennen.</p>
<p id="continuation_quotes">Anführungszeichen werden automatisch mit einem Escapezeichen versehen (also als direkt geschriebene Zeichen interpretiert), wenn der Fortsetzungsbereich innerhalb einer in Anführungszeichen gesetzten Zeichenkette beginnt, wie in den Beispielen oben. Andernfalls verhalten sich Anführungszeichen wie gewohnt, d.h. Fortsetzungsbereiche können Ausdrücke mit in Anführungszeichen gesetzten Zeichenketten enthalten.</p>
<p id="continuation_defaults">Standardmäßig werden Leer- und Tabulatorzeichen am Anfang weggelassen, abhängig von der Einrückung der ersten Zeile innerhalb des Fortsetzungsbereichs. Wenn die erste Zeile eine Mischung aus Leer- und Tabulatorzeichen enthält, wird nur der erste Zeichentyp als Einrückung behandelt. Wenn eine Zeile weniger eingerückt ist als die erste Zeile oder mit den falschen Zeichen eingerückt ist, bleiben alle Leerraumzeichen am Anfang dieser Zeile erhalten. </p>
<p>Standardmäßig werden Leer- und Tabulatorzeichen am Ende weggelassen.</p>
<p>Das Standardverhalten eines Fortsetzungsbereichs kann überschrieben werden, indem eine oder mehrere der folgenden Optionen rechts von der runden Startklammer eingefügt werden. Mehrere Optionen müssen mit Leerzeichen voneinander getrennt werden. Zum Beispiel: <code class="no-highlight">( LTrim Join|</code>.</p>
<p id="Join"><strong>Join</strong><em>Zkette</em>: Gibt an, wie die Zeilen verbunden werden sollen. Wenn diese Option nicht verwendet wird, endet jede Zeile außer der letzten mit einem LF-Zeichen (`n). Wenn <em>Zkette</em> weggelassen wird, werden die Zeilen direkt miteinander verbunden, ohne Zeichen dazwischen. Andernfalls geben Sie für <em>Zkette</em> eine Zeichenkette von bis zu 15 Zeichen an. Zum Beispiel bewirkt <code>Join`s</code>, dass nach jeder Zeile außer der letzten ein Leerzeichen eingefügt wird. Weitere Beispiele sind <code>Join`r`n</code>, das ein CR-LF-Paar zwischen den Zeilen einfügt, und <code>Join|</code>, das einen Vertikalstrich zwischen den Zeilen einfügt. Um die letzte Zeile des Fortsetzungsbereichs ebenfalls mit <em>Zkette</em> enden zu lassen, fügen Sie direkt über der runden Endklammer des Bereichs eine Leerzeile ein.</p>
<p id="LTrim"><strong>LTrim:</strong> Entfernt alle Leer- und Tabulatorzeichen am Anfang jeder Zeile. Dies ist normalerweise wegen des <a href="#continuation_defaults">"intelligenten" Standardverhaltens</a> nicht notwendig.</p>
Expand Down
1 change: 0 additions & 1 deletion target/docs/Tutorial.htm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
<title>Anfänger-Tutorial | AutoHotkey v2</title>
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>
<body>
<h1>AutoHotkey Anfänger-Tutorial <span style="opacity: 0.4">von tidbit</span></h1>
Expand Down
3 changes: 1 addition & 2 deletions target/docs/Variables.htm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga4.js" type="text/javascript"></script>
</head>

<body>
Expand Down Expand Up @@ -313,7 +312,7 @@ <h3 id="operators">Ausdrucksoperatoren (absteigende Priorität)</h3>
<td><p><strong>Komma (Mehrfachanweisung)</strong>. Kommas können verwendet werden, um mehrere Teilausdrücke auf eine Zeile zu schreiben. Dies wird üblicherweise verwendet, um mehrere Zuweisungen oder Funktionsaufrufe zu gruppieren. Zum Beispiel: <code>x:=1<strong>,</strong> y+=2<strong>,</strong> ++index, MeineFunk()</code>. Solche Anweisungen werden von links nach rechts ausgeführt.</p>
<p class="note"><strong>Hinweis:</strong> Eine Zeile, die mit einem Komma (oder einem anderen Operator) beginnt, wird automatisch mit der darüber liegenden Zeile <a href="Scripts.htm#continuation">verbunden</a>. Siehe auch: <a href="#CommaPerf">Kommaperformanz</a>.</p>
<p>Das Komma wird auch verwendet, um die Parameter eines Funktionsaufrufs oder einer Kontrollanweisung voneinander zu trennen. Um einen Mehrfachanweisungsausdruck in eine Parameterliste einzufügen, umschließen Sie ihn mit einem zusätzlichen Paar runder Klammern. Zum Beispiel wertet <code>MeineFn((x, y))</code> sowohl x als auch y aus, übergibt aber y als den ersten und einzigen Parameter von MeineFn.</p>
<p id="CommaPerf">Kommagetrennte Ausdrücke sind in der Regel performanter als einzeln geschriebene Ausdrücke, insbesondere bei der Zuweisung einer Variable an eine andere (z.B. <code>x:=y, a:=b</code>). Je mehr Ausdrücke zu einem einzigen Ausdruck zusammengefasst werden, desto höher ist die Performanz. Zum Beispiel kann ein Geschwindigkeitszuwachs von 35&nbsp;% erreicht werden, wenn fünf oder zehn einfache Ausdrücke zu einem einzigen Ausdruck kombiniert werden.</p>
<p id="CommaPerf">Im Gegensatz zu v1 sind kommagetrennte Ausdrücke in der Regel weniger performant als einzeln geschriebene Ausdrücke. Je mehr Ausdrücke zu einem einzigen Ausdruck zusammengefasst werden, desto schlechter ist die Performanz. Zum Beispiel kann die Geschwindigkeit um 35&nbsp;% abnehmen, wenn fünf oder zehn einfache Ausdrücke zu einem einzigen Ausdruck kombiniert werden. Eine Ausnahme hiervon besteht möglicherweise bei der Kombination von Funktionsaufrufen.</p>
</td>
</tr>
</table>
Expand Down
Loading

0 comments on commit 37263d0

Please sign in to comment.