Beispiele zu neuen Funktionen PB5.10

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Beispiele zu neuen Funktionen PB5.10

Beitrag von NicTheQuick »

Nachtrag: Diese verschachtelten Makros funktionieren laut Fred eigentlich gar nicht in PB. In dem Fall zufälligerweise aber schon, also sollte man sich nicht darauf verlassen, dass es in Zukunft auch so klappt. Schade eigentlich.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Beispiele zu neuen Funktionen PB5.10

Beitrag von STARGÅTE »

@NicTheQuick:

Der Compiler ist ja auch eigentlich dafür da einen Code zu kompilieren, nicht um ihn erst zu erstellen, wenn du verstehst was ich meine. Trotzdem nettes Beispiel.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Beispiele zu neuen Funktionen PB5.10

Beitrag von NicTheQuick »

Ich nehme an du kennst die Boost-Library für C/C++ nicht. ;) Generische Programmierung sieht schräg aus, ist aber irre praktisch.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Beispiele zu neuen Funktionen PB5.10

Beitrag von STARGÅTE »

Praktisch mag es sein, aber PB ist nun mal dahingehend optimiert,
dass beim Aufruf einer Prozedur exakt gekannt ist, welchen Typ die Parameter haben.
Klar kann man aus "praktischen" Gründen, bei allen Funktionen zusätzlich diese Typenabfrage einbauen,
dann würde man überall nur noch eine Funktion haben wie:
nur Str() ohne StrF, StrD
oder nur Write() ohne WriteLong(), WriteString(), WriteFloat() usw.
Ich meine funktionieren würde es ja nun dank TypeOf(),
aber ich bin der Meinung, dass würde die Kopilierungszeit erheblich erhöhen.

[Offtopic]
Ansonsten kannst du auf meine Script-Sprache warten, dort gehe ich sogar soweit, dass ich mit Operationszeichen (zB +) nicht nur Zahlen oder String addieren/verbinden kann, sondern auch Vektoren, Matrizen, Listen usw. und ich gehe noch weiter, auch Memorys, Dateien, Bilder, Sounds können auf diese weise verbunden/überlagert werden.
Auch kann man eigene Operationszeichen definieren, sodass man selbst einen Funktionsaufruf sparen kann:
%a %b := Swap(%a, %b)

[/Offtopic]
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Antworten