Skip to content

Commit

Permalink
added Erste_N_Elemente, Letzten_N_Elemente, Spiegeln (#39)
Browse files Browse the repository at this point in the history
  • Loading branch information
NotLe0n committed Dec 24, 2023
1 parent 09d3569 commit 4fecb91
Show file tree
Hide file tree
Showing 3 changed files with 153 additions and 0 deletions.
111 changes: 111 additions & 0 deletions lib/stdlib/Duden/Listen.ddp
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,28 @@ Die öffentliche Funktion Ist_Leer_Zahl mit dem Parameter liste vom Typ Zahlen L
Und kann so benutzt werden:
"<liste> leer ist"

[
Gibt liste bis zum n. Element zurück.
]
Die öffentliche Funktion Erste_N_Elemente_Zahl mit den Parametern liste und n vom Typ Zahlen Liste und Zahl, gibt eine Zahlen Liste zurück, macht:
Gib liste bis zum n. Element zurück.
Und kann so benutzt werden:
"die ersten <n> Elemente von <liste>"

[
Gibt liste ab dem (die Länge von liste minus n). Element zurück.
]
Die öffentliche Funktion Letzten_N_Elemente_Zahl mit den Parametern liste und n vom Typ Zahlen Liste und Zahl, gibt eine Zahlen Liste zurück, macht:
Gib liste ab dem (die Länge von liste minus n plus 1). Element zurück.
Und kann so benutzt werden:
"die letzten <n> Elemente von <liste>"

Die öffentliche Funktion Spiegeln_Zahl mit dem Parameter liste vom Typ Zahlen Liste, gibt eine Zahlen Liste zurück, macht:
Die Zahlen Liste neu ist die Länge von liste Mal 0.
Für jede Zahl i von 1 bis (die Länge von liste), Speichere liste an der Stelle i in neu an der Stelle (die Länge von liste minus i plus 1).
Gib neu zurück.
Und kann so benutzt werden:
"<liste> gespiegelt"

[ Kommazahlen Listen Funktionen]
[
Expand Down Expand Up @@ -251,6 +273,28 @@ Die öffentliche Funktion Ist_Leer_Kommazahl mit dem Parameter liste vom Typ Kom
Und kann so benutzt werden:
"<liste> leer ist"

[
Gibt liste bis zum n. Element zurück.
]
Die öffentliche Funktion Erste_N_Elemente_Kommazahl mit den Parametern liste und n vom Typ Kommazahlen Liste und Zahl, gibt eine Kommazahlen Liste zurück, macht:
Gib liste bis zum n. Element zurück.
Und kann so benutzt werden:
"die ersten <n> Elemente von <liste>"

[
Gibt liste ab dem (die Länge von liste minus n). Element zurück.
]
Die öffentliche Funktion Letzten_N_Elemente_Kommazahl mit den Parametern liste und n vom Typ Kommazahlen Liste und Zahl, gibt eine Kommazahlen Liste zurück, macht:
Gib liste ab dem (die Länge von liste minus n plus 1). Element zurück.
Und kann so benutzt werden:
"die letzten <n> Elemente von <liste>"

Die öffentliche Funktion Spiegeln_Kommazahl mit dem Parameter liste vom Typ Kommazahlen Liste, gibt eine Kommazahlen Liste zurück, macht:
Die Kommazahlen Liste neu ist die Länge von liste Mal 0,0.
Für jede Zahl i von 1 bis (die Länge von liste), Speichere liste an der Stelle i in neu an der Stelle (die Länge von liste minus i plus 1).
Gib neu zurück.
Und kann so benutzt werden:
"<liste> gespiegelt"

[ Wahrheitswert Listen Funktionen ]
[
Expand Down Expand Up @@ -378,6 +422,28 @@ Die öffentliche Funktion Ist_Leer_Wahrheitswert mit dem Parameter liste vom Typ
Und kann so benutzt werden:
"<liste> leer ist"

[
Gibt liste bis zum n. Element zurück.
]
Die öffentliche Funktion Erste_N_Elemente_Wahrheitswert mit den Parametern liste und n vom Typ Wahrheitswert Liste und Zahl, gibt eine Wahrheitswert Liste zurück, macht:
Gib liste bis zum n. Element zurück.
Und kann so benutzt werden:
"die ersten <n> Elemente von <liste>"

[
Gibt liste ab dem (die Länge von liste minus n). Element zurück.
]
Die öffentliche Funktion Letzten_N_Elemente_Wahrheitswert mit den Parametern liste und n vom Typ Wahrheitswert Liste und Zahl, gibt eine Wahrheitswert Liste zurück, macht:
Gib liste ab dem (die Länge von liste minus n plus 1). Element zurück.
Und kann so benutzt werden:
"die letzten <n> Elemente von <liste>"

Die öffentliche Funktion Spiegeln_Wahrheitswert mit dem Parameter liste vom Typ Wahrheitswert Liste, gibt eine Wahrheitswert Liste zurück, macht:
Die Wahrheitswert Liste neu ist die Länge von liste Mal falsch.
Für jede Zahl i von 1 bis (die Länge von liste), Speichere liste an der Stelle i in neu an der Stelle (die Länge von liste minus i plus 1).
Gib neu zurück.
Und kann so benutzt werden:
"<liste> gespiegelt"

[ Buchstaben Listen Funktionen ]
[
Expand Down Expand Up @@ -505,6 +571,28 @@ Die öffentliche Funktion Ist_Leer_Buchstabe mit dem Parameter liste vom Typ Buc
Und kann so benutzt werden:
"<liste> leer ist"

[
Gibt liste bis zum n. Element zurück.
]
Die öffentliche Funktion Erste_N_Elemente_Buchstabe mit den Parametern liste und n vom Typ Buchstaben Liste und Zahl, gibt eine Buchstaben Liste zurück, macht:
Gib liste bis zum n. Element zurück.
Und kann so benutzt werden:
"die ersten <n> Elemente von <liste>"

[
Gibt liste ab dem (die Länge von liste minus n). Element zurück.
]
Die öffentliche Funktion Letzten_N_Elemente_Buchstabe mit den Parametern liste und n vom Typ Buchstaben Liste und Zahl, gibt eine Buchstaben Liste zurück, macht:
Gib liste ab dem (die Länge von liste minus n plus 1). Element zurück.
Und kann so benutzt werden:
"die letzten <n> Elemente von <liste>"

Die öffentliche Funktion Spiegeln_Buchstabe mit dem Parameter liste vom Typ Buchstaben Liste, gibt eine Buchstaben Liste zurück, macht:
Die Buchstaben Liste neu ist die Länge von liste Mal ' '.
Für jede Zahl i von 1 bis (die Länge von liste), Speichere liste an der Stelle i in neu an der Stelle (die Länge von liste minus i plus 1).
Gib neu zurück.
Und kann so benutzt werden:
"<liste> gespiegelt"

[ Text Listen Funktionen ]
[
Expand Down Expand Up @@ -632,6 +720,29 @@ Die öffentliche Funktion Ist_Leer_Text mit dem Parameter liste vom Typ Text Lis
Und kann so benutzt werden:
"<liste> leer ist"

[
Gibt liste bis zum n. Element zurück.
]
Die öffentliche Funktion Erste_N_Elemente_Text mit den Parametern liste und n vom Typ Text Liste und Zahl, gibt eine Text Liste zurück, macht:
Gib liste bis zum n. Element zurück.
Und kann so benutzt werden:
"die ersten <n> Elemente von <liste>"

[
Gibt liste ab dem (die Länge von liste minus n). Element zurück.
]
Die öffentliche Funktion Letzten_N_Elemente_Text mit den Parametern liste und n vom Typ Text Liste und Zahl, gibt eine Text Liste zurück, macht:
Gib liste ab dem (die Länge von liste minus n plus 1). Element zurück.
Und kann so benutzt werden:
"die letzten <n> Elemente von <liste>"

Die öffentliche Funktion Spiegeln_Text mit dem Parameter liste vom Typ Text Liste, gibt eine Text Liste zurück, macht:
Die Text Liste neu ist die Länge von liste Mal "".
Für jede Zahl i von 1 bis (die Länge von liste), Speichere liste an der Stelle i in neu an der Stelle (die Länge von liste minus i plus 1).
Gib neu zurück.
Und kann so benutzt werden:
"<liste> gespiegelt"

[
Verkettet alle Buchstaben der gegebenen Liste zu einem Text und gibt diesen zurück.
]
Expand Down
24 changes: 24 additions & 0 deletions tests/testdata/stdlib/Listen/Listen.ddp
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,30 @@ Schreibe '\n'.
Schreibe listT.
Schreibe '\n'.

[Erste_N_Elemente tests]
Schreibe den Text "-- Erste_N_Elemente tests --" auf eine Zeile.
Schreibe (die ersten 3 Elemente von listZ) auf eine Zeile.
Schreibe (die ersten 3 Elemente von listK) auf eine Zeile.
Schreibe (die ersten 3 Elemente von listB) auf eine Zeile.
Schreibe (die ersten 3 Elemente von listC) auf eine Zeile.
Schreibe (die ersten 3 Elemente von listT) auf eine Zeile.

[Letzten_N_Elemente tests]
Schreibe den Text "-- Letzten_N_Elemente tests --" auf eine Zeile.
Schreibe (die letzten 3 Elemente von listZ) auf eine Zeile.
Schreibe (die letzten 3 Elemente von listK) auf eine Zeile.
Schreibe (die letzten 3 Elemente von listB) auf eine Zeile.
Schreibe (die letzten 3 Elemente von listC) auf eine Zeile.
Schreibe (die letzten 3 Elemente von listT) auf eine Zeile.

[Spiegeln tests]
Schreibe den Text "-- Spiegeln tests --" auf eine Zeile.
Schreibe (listZ gespiegelt) auf eine Zeile.
Schreibe (listK gespiegelt) auf eine Zeile.
Schreibe (listB gespiegelt) auf eine Zeile.
Schreibe (listC gespiegelt) auf eine Zeile.
Schreibe (listT gespiegelt) auf eine Zeile.

Schreibe den Text "-- fill tests --" auf eine Zeile.
[ fill tests ]
Fülle listZ mit 0.
Expand Down
18 changes: 18 additions & 0 deletions tests/testdata/stdlib/Listen/expected.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,24 @@ hi, yo, test, neu
wahr, wahr, falsch, wahr, falsch
8, a, b, c, d
8, hi, yo, test, neu
-- Erste_N_Elemente tests --
8, 1, 4
8,5, 3,14, 0,183
wahr, wahr, falsch
8, a, b
8, hi, yo
-- Letzten_N_Elemente tests --
4, 5, 9
0,183, 2,5, 5,5
falsch, wahr, falsch
b, c, d
yo, test, neu
-- Spiegeln tests --
9, 5, 4, 1, 8
5,5, 2,5, 0,183, 3,14, 8,5
falsch, wahr, falsch, wahr, wahr
d, c, b, a, 8
neu, test, yo, hi, 8
-- fill tests --
0, 0, 0, 0, 0
0, 0, 0, 0, 0
Expand Down

0 comments on commit 4fecb91

Please sign in to comment.