Skip to content

Commit

Permalink
Merge pull request #43 from Magi3r/master
Browse files Browse the repository at this point in the history
Erweitern vom Duden um Entferne_Anzahl_Vorne, Entferne_Anzahl_Hinten
  • Loading branch information
bafto authored Dec 12, 2023
2 parents bfd9093 + 4a37aca commit 83c9e8d
Show file tree
Hide file tree
Showing 3 changed files with 142 additions and 0 deletions.
80 changes: 80 additions & 0 deletions lib/stdlib/Duden/Texte.ddp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,86 @@ Und kann so benutzt werden:
"ein leerer Text" oder
"einen leeren Text"

[
Entfernt eine feste Anzahl von Buchstaben vom Anfang eines gegebenen Textes.
Ist die Länge des Textes kürzer als die zu löschende Anzahl, gibt die Funktion einen leeren Text zurück.
Werte für Anzahl kleiner als 0 wird wie 0 gewertet.
z.B.:
Der Text t ist "abcdef".
Entferne 3 Buchstaben am Anfang von t.
t: "def"

Der Text t ist "abc".
Entferne 5 Buchstaben am Anfang von t.
t: ""
]
Die öffentliche Funktion Entferne_Anzahl_Vorne_Mutierend mit den Parametern text und anzahl vom Typ Text Referenz und Zahl, gibt nichts zurück, macht:
Wenn die Länge von text kleiner als, oder anzahl ist, dann:
Speichere "" in text.
Sonst speichere text ab dem (anzahl plus 1). Element in text.
Und kann so benutzt werden:
"Entferne <anzahl> Buchstaben am Anfang von <text>"

[
Entfernt eine feste Anzahl von Buchstaben vom Ende eines gegebenen Textes.
Ist die Länge des Textes kürzer als die zu löschende Anzahl, gibt die Funktion einen leeren Text zurück.
Werte für Anzahl kleiner als 0 wird wie 0 gewertet.
z.B.:
Der Text t ist "abcdef".
Entferne 3 Buchstaben am Ende von t.
t: "abc"

Der Text t ist "abc".
Entferne 5 Buchstaben am Ende von t.
t: ""
]
Die öffentliche Funktion Entferne_Anzahl_Hinten_Mutierend mit den Parametern text und anzahl vom Typ Text Referenz und Zahl, gibt nichts zurück, macht:
Wenn die Länge von text kleiner als, oder anzahl ist, dann:
Speichere "" in text.
Sonst speichere text bis zum (die Länge von text minus anzahl). Element in text.
Und kann so benutzt werden:
"Entferne <anzahl> Buchstaben am Ende von <text>"

[
Entfernt eine feste Anzahl von Buchstaben vom Anfang eines gegebenen Textes.
Ist die Länge des Textes kürzer als die zu löschende Anzahl, gibt die Funktion einen leeren Text zurück.
Werte für Anzahl kleiner als 0 wird wie 0 gewertet.
z.B.:
Der Text t ist "abcdef".
Entferne 3 Buchstaben am Anfang von t.
t: "def"

Der Text t ist "abc".
Entferne 5 Buchstaben am Anfang von t.
t: ""
]
Die öffentliche Funktion Entferne_Anzahl_Vorne mit den Parametern text und anzahl vom Typ Text und Zahl, gibt einen Text zurück, macht:
Wenn die Länge von text kleiner als, oder anzahl ist, dann:
Gib "" zurück.
Gib text ab dem (anzahl plus 1). Element zurück.
Und kann so benutzt werden:
"<text> mit den ersten <anzahl> Buchstaben entfernt"

[
Entfernt eine feste Anzahl von Buchstaben vom Ende eines gegebenen Textes.
Ist die Länge des Textes kürzer als die zu löschende Anzahl, gibt die Funktion einen leeren Text zurück.
Werte für Anzahl kleiner als 0 wird wie 0 gewertet.
z.B.:
Der Text t ist "abcdef".
Entferne 3 Buchstaben am Ende von t.
t: "abc"

Der Text t ist "abc".
Entferne 5 Buchstaben am Ende von t.
t: ""
]
Die öffentliche Funktion Entferne_Anzahl_Hinten mit den Parametern text und anzahl vom Typ Text und Zahl, gibt einen Text zurück, macht:
Wenn die Länge von text kleiner als, oder anzahl ist, dann:
Gib "" zurück.
Gib text bis zum (die Länge von text minus anzahl). Element zurück.
Und kann so benutzt werden:
"<text> mit den letzten <anzahl> Buchstaben entfernt"

[
Entfernt alle gegebenen Buchstaben vom Anfang eines gegebenen Textes.
z.B.:
Expand Down
42 changes: 42 additions & 0 deletions tests/testdata/stdlib/Texte/Texte.ddp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,48 @@ Binde "Duden/Ausgabe" ein.

Schreibe (einen leeren Text) auf eine Zeile.

[Entferne_Anzahl_Vorne_Mutierend]
Der Text Entferne_Anzahl_Vorne_Mutierend_Text ist "Hello World!".
Entferne 0 Buchstaben am Anfang von Entferne_Anzahl_Vorne_Mutierend_Text.
Schreibe (Entferne_Anzahl_Vorne_Mutierend_Text) auf eine Zeile. [Hello World!]
Entferne 5 Buchstaben am Anfang von Entferne_Anzahl_Vorne_Mutierend_Text.
Schreibe (Entferne_Anzahl_Vorne_Mutierend_Text) auf eine Zeile. [ World!]
Entferne 2 Buchstaben am Anfang von Entferne_Anzahl_Vorne_Mutierend_Text.
Schreibe (Entferne_Anzahl_Vorne_Mutierend_Text) auf eine Zeile. [orld!]
Entferne -21489159 Buchstaben am Anfang von Entferne_Anzahl_Vorne_Mutierend_Text.
Schreibe (Entferne_Anzahl_Vorne_Mutierend_Text) auf eine Zeile. [orld!]
Entferne 21489159 Buchstaben am Anfang von Entferne_Anzahl_Vorne_Mutierend_Text.
Schreibe (Entferne_Anzahl_Vorne_Mutierend_Text) auf eine Zeile. []

[Entferne_Anzahl_Vorne]
Der Text Entferne_Anzahl_Vorne_Text ist "Hello World!".
Schreibe (Entferne_Anzahl_Vorne_Text mit den ersten 4 Buchstaben entfernt) auf eine Zeile. [o World!]
Schreibe (Entferne_Anzahl_Vorne_Text mit den ersten 0 Buchstaben entfernt) auf eine Zeile. [Hello World!]
Schreibe (Entferne_Anzahl_Vorne_Text mit den ersten -4 Buchstaben entfernt) auf eine Zeile. [Hello World!]
Schreibe (Entferne_Anzahl_Vorne_Text mit den ersten 5000 Buchstaben entfernt) auf eine Zeile. []
Schreibe (Entferne_Anzahl_Vorne_Text) auf eine Zeile. [Hello World!]

[Entferne_Anzahl_Hinten_Mutierend]
Der Text Entferne_Anzahl_Hinten_Mutierend_Text ist "Hello World!".
Entferne 0 Buchstaben am Ende von Entferne_Anzahl_Hinten_Mutierend_Text.
Schreibe (Entferne_Anzahl_Hinten_Mutierend_Text) auf eine Zeile. [Hello World!]
Entferne 6 Buchstaben am Ende von Entferne_Anzahl_Hinten_Mutierend_Text.
Schreibe (Entferne_Anzahl_Hinten_Mutierend_Text) auf eine Zeile. [Hello ]
Entferne 2 Buchstaben am Ende von Entferne_Anzahl_Hinten_Mutierend_Text.
Schreibe (Entferne_Anzahl_Hinten_Mutierend_Text) auf eine Zeile. [Hell]
Entferne -21489159 Buchstaben am Ende von Entferne_Anzahl_Hinten_Mutierend_Text.
Schreibe (Entferne_Anzahl_Hinten_Mutierend_Text) auf eine Zeile. [Hell]
Entferne 21489159 Buchstaben am Ende von Entferne_Anzahl_Hinten_Mutierend_Text.
Schreibe (Entferne_Anzahl_Hinten_Mutierend_Text) auf eine Zeile. []

[Entferne_Anzahl_Hinten]
Der Text Entferne_Anzahl_Hinten_Text ist "Hello World!".
Schreibe (Entferne_Anzahl_Hinten_Text mit den letzten 4 Buchstaben entfernt) auf eine Zeile. [Hello Wo]
Schreibe (Entferne_Anzahl_Hinten_Text mit den letzten 0 Buchstaben entfernt) auf eine Zeile. [Hello World!]
Schreibe (Entferne_Anzahl_Hinten_Text mit den letzten -4 Buchstaben entfernt) auf eine Zeile. [Hello World!]
Schreibe (Entferne_Anzahl_Hinten_Text mit den letzten 5000 Buchstaben entfernt) auf eine Zeile. []
Schreibe (Entferne_Anzahl_Hinten_Text) auf eine Zeile. [Hello World!]

Schreibe (" guh??" mit allen ' ' davor entfernt) auf eine Zeile. [TrimAnfangWert, guh??]
Schreibe ("guh?? " mit allen ' ' danach entfernt) auf eine Zeile. [TrimEndeWert, guh??]
Schreibe (" guh?? " mit allen ' ' davor und danach entfernt) auf eine Zeile. [TrimWert, guh??]
Expand Down
20 changes: 20 additions & 0 deletions tests/testdata/stdlib/Texte/expected.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,24 @@

Hello World!
World!
orld!
orld!

o World!
Hello World!
Hello World!

Hello World!
Hello World!
Hello
Hell
Hell

Hello Wo
Hello World!
Hello World!

Hello World!
guh??
guh??
guh??
Expand Down

0 comments on commit 83c9e8d

Please sign in to comment.