aboutsummaryrefslogtreecommitdiff
path: root/doc/docs/de
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2026-02-12 10:29:07 +0800
committerLi Jin <dragon-fly@qq.com>2026-02-12 10:29:07 +0800
commitd63779ec0a6f00854f53b48b0f6a67707879b6d1 (patch)
treef9d7e736c31601dcfe1781a7f9eef9bfb3e3fed8 /doc/docs/de
parent82e9b379db4eb77f82cf5693e476597feb18e40b (diff)
downloadyuescript-d63779ec0a6f00854f53b48b0f6a67707879b6d1.tar.gz
yuescript-d63779ec0a6f00854f53b48b0f6a67707879b6d1.tar.bz2
yuescript-d63779ec0a6f00854f53b48b0f6a67707879b6d1.zip
Updated docs.
Diffstat (limited to 'doc/docs/de')
-rw-r--r--doc/docs/de/doc/advanced/do.md22
-rw-r--r--doc/docs/de/doc/control-flow/for-loop.md16
-rw-r--r--doc/docs/de/doc/control-flow/while-loop.md42
-rw-r--r--doc/docs/de/doc/language-basics/module.md (renamed from doc/docs/de/doc/advanced/module.md)0
-rw-r--r--doc/docs/de/doc/objects/with-statement.md44
5 files changed, 121 insertions, 3 deletions
diff --git a/doc/docs/de/doc/advanced/do.md b/doc/docs/de/doc/advanced/do.md
index 265a5ba..c6c41cf 100644
--- a/doc/docs/de/doc/advanced/do.md
+++ b/doc/docs/de/doc/advanced/do.md
@@ -20,7 +20,27 @@ print var -- nil hier
20 20
21</YueDisplay> 21</YueDisplay>
22 22
23YueScripts **do** kann auch als Ausdruck verwendet werden. So kannst du mehrere Zeilen in einem Ausdruck kombinieren. Das Ergebnis des `do`-Ausdrucks ist die letzte Anweisung im Block. 23YueScripts **do** kann auch als Ausdruck verwendet werden. So kannst du mehrere Zeilen in einem Ausdruck kombinieren. Das Ergebnis des `do`-Ausdrucks ist die letzte Anweisung im Block. `do`-Ausdrücke unterstützen die Verwendung von `break`, um den Kontrollfluss zu unterbrechen und mehrere Rückgabewerte vorzeitig zurückzugeben.
24
25```yuescript
26status, value = do
27 n = 12
28 if n > 10
29 break "large", n
30 break "small", n
31```
32
33<YueDisplay>
34
35```yue
36status, value = do
37 n = 12
38 if n > 10
39 break "large", n
40 break "small", n
41```
42
43</YueDisplay>
24 44
25```yuescript 45```yuescript
26counter = do 46counter = do
diff --git a/doc/docs/de/doc/control-flow/for-loop.md b/doc/docs/de/doc/control-flow/for-loop.md
index 827d983..16b5418 100644
--- a/doc/docs/de/doc/control-flow/for-loop.md
+++ b/doc/docs/de/doc/control-flow/for-loop.md
@@ -86,7 +86,7 @@ doubled_evens = for i = 1, 20
86 86
87</YueDisplay> 87</YueDisplay>
88 88
89Zusätzlich unterstützen `for`-Schleifen `break` mit Rückgabewert, sodass die Schleife selbst als Ausdruck verwendet werden kann, der früh mit einem sinnvollen Ergebnis endet. 89Zusätzlich unterstützen `for`-Schleifen `break` mit Rückgabewerten, sodass die Schleife selbst als Ausdruck verwendet werden kann, der früh mit einem sinnvollen Ergebnis endet. `for`-Ausdrücke unterstützen mehrere `break`-Werte.
90 90
91Beispiel: die erste Zahl größer als 10 finden: 91Beispiel: die erste Zahl größer als 10 finden:
92 92
@@ -106,6 +106,20 @@ first_large = for n in *numbers
106 106
107Diese `break`-mit-Wert-Syntax ermöglicht knappe und ausdrucksstarke Such- bzw. Early-Exit-Muster direkt in Schleifenausdrücken. 107Diese `break`-mit-Wert-Syntax ermöglicht knappe und ausdrucksstarke Such- bzw. Early-Exit-Muster direkt in Schleifenausdrücken.
108 108
109```yuescript
110key, score = for k, v in pairs data
111 break k, v * 10 if k == "target"
112```
113
114<YueDisplay>
115
116```yue
117key, score = for k, v in pairs data
118 break k, v * 10 if k == "target"
119```
120
121</YueDisplay>
122
109Du kannst Werte auch filtern, indem du den `for`-Ausdruck mit `continue` kombinierst. 123Du kannst Werte auch filtern, indem du den `for`-Ausdruck mit `continue` kombinierst.
110 124
111`for`-Schleifen am Ende eines Funktionsrumpfs werden nicht in eine Tabelle für einen Rückgabewert gesammelt (stattdessen gibt die Funktion `nil` zurück). Du kannst entweder explizit `return` verwenden oder die Schleife in eine Listen-Comprehension umwandeln. 125`for`-Schleifen am Ende eines Funktionsrumpfs werden nicht in eine Tabelle für einen Rückgabewert gesammelt (stattdessen gibt die Funktion `nil` zurück). Du kannst entweder explizit `return` verwenden oder die Schleife in eine Listen-Comprehension umwandeln.
diff --git a/doc/docs/de/doc/control-flow/while-loop.md b/doc/docs/de/doc/control-flow/while-loop.md
index 6d9f089..98776ec 100644
--- a/doc/docs/de/doc/control-flow/while-loop.md
+++ b/doc/docs/de/doc/control-flow/while-loop.md
@@ -45,7 +45,25 @@ until running == false do my_function!
45 45
46</YueDisplay> 46</YueDisplay>
47 47
48Wie bei `for`-Schleifen kann die `while`-Schleife auch als Ausdruck verwendet werden. Damit eine Funktion den akkumulierten Wert einer `while`-Schleife zurückgibt, muss die Anweisung explizit mit `return` zurückgegeben werden. 48Wie bei `for`-Schleifen kann die `while`-Schleife auch als Ausdruck verwendet werden. `while`- und `until`-Ausdrücke unterstützen `break` mit mehreren Rückgabewerten.
49
50```yuescript
51value, doubled = while true
52 n = get_next!
53 break n, n * 2 if n > 10
54```
55
56<YueDisplay>
57
58```yue
59value, doubled = while true
60 n = get_next!
61 break n, n * 2 if n > 10
62```
63
64</YueDisplay>
65
66Damit eine Funktion den akkumulierten Wert einer `while`-Schleife zurückgibt, muss die Anweisung explizit mit `return` zurückgegeben werden.
49 67
50## Repeat-Schleife 68## Repeat-Schleife
51 69
@@ -70,3 +88,25 @@ until i == 0
70``` 88```
71 89
72</YueDisplay> 90</YueDisplay>
91
92`repeat`-Ausdrücke unterstützen ebenfalls `break` mit mehreren Rückgabewerten:
93
94```yuescript
95i = 1
96value, scaled = repeat
97 break i, i * 100 if i > 3
98 i += 1
99until false
100```
101
102<YueDisplay>
103
104```yue
105i = 1
106value, scaled = repeat
107 break i, i * 100 if i > 3
108 i += 1
109until false
110```
111
112</YueDisplay>
diff --git a/doc/docs/de/doc/advanced/module.md b/doc/docs/de/doc/language-basics/module.md
index f20deec..f20deec 100644
--- a/doc/docs/de/doc/advanced/module.md
+++ b/doc/docs/de/doc/language-basics/module.md
diff --git a/doc/docs/de/doc/objects/with-statement.md b/doc/docs/de/doc/objects/with-statement.md
index adeeda6..f299902 100644
--- a/doc/docs/de/doc/objects/with-statement.md
+++ b/doc/docs/de/doc/objects/with-statement.md
@@ -44,6 +44,50 @@ file = with File "Lieblingsessen.txt"
44 44
45</YueDisplay> 45</YueDisplay>
46 46
47`with`-Ausdrücke unterstützen `break` mit genau einem Wert:
48
49```yuescript
50result = with obj
51 break .value
52```
53
54<YueDisplay>
55
56```yue
57result = with obj
58 break .value
59```
60
61</YueDisplay>
62
63Sobald `break value` in `with` verwendet wird, gibt der `with`-Ausdruck nicht mehr sein Zielobjekt zurück, sondern den von `break` gelieferten Wert.
64
65```yuescript
66a = with obj
67 .x = 1
68-- a ist obj
69
70b = with obj
71 break .x
72-- b ist .x, nicht obj
73```
74
75<YueDisplay>
76
77```yue
78a = with obj
79 .x = 1
80-- a ist obj
81
82b = with obj
83 break .x
84-- b ist .x, nicht obj
85```
86
87</YueDisplay>
88
89Im Unterschied zu `for` / `while` / `repeat` / `do` unterstützt `with` nur einen `break`-Wert.
90
47Oder … 91Oder …
48 92
49```yuescript 93```yuescript