Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zahlen erweiterung #105

Open
NotLe0n opened this issue Dec 2, 2024 · 0 comments
Open

Zahlen erweiterung #105

NotLe0n opened this issue Dec 2, 2024 · 0 comments
Labels
Typ: Konzept Nur ein Konzept für eine Idee

Comments

@NotLe0n
Copy link
Member

NotLe0n commented Dec 2, 2024

Das Feature
Wir haben Zahlen und Kommazahlen. Manchmal ist es nützlich einen numerischen Datentypen zu haben der keine negativen Zahlen erlaubt. Andere Programmiersprachen nennen diese unsignierte Integers, aber dafür haben wir einen schöneren Begriff aus der Mathematik klauen: natürliche Zahlen.

Jetzt gibt es aber ein Problem. Mit zwei Zahlenwerte war es noch okay zwei Funktionen für Zahlen und Kommazahlen zu machen, jedoch mit drei wird es viel nerviger. Dafür schlage ich vor einen übergeordneten Zahlentyp zu haben, welcher sich je nach deklaration anpasst. Diesen nenne ich Zahl, sodass die untergeordneten Typen von einem Adjektiv unterschieden werden können.
So wird Zahl zu ganze Zahl und Kommazahl zu reelle Zahl.

Der typische Programmierer würde kaum die expliziten Formen benutzen, da es oft reicht den übergeordneten Zahl typ zu benutzen. Man würde sie eher in Funktionsdeklarationen benutzen um den Datentyp einzuschränken wenn es besonders erforderlich ist.

Wenn zum Beispiel eine natürliche Zahl in eine Funktion, die eine ganze Zahl nimmt übergeben wird, dann wird der Wert implizit in eine ganze Zahl konvertiert. Falls der Parameter eine Zahl ist wird der Wert in den "höchsten" Typ umgewandelt, also reelle Zahl.

Syntax Vorschlag

Die natürliche Zahl n ist 0.
Die ganze Zahl g ist -2.
Die reelle Zahl r ist 5,3.

Die Zahl zn ist 6. [ in diesem Fall eine natürliche Zahl ]
Die Zahl zg ist -2. [ in diesem Fall eine ganze Zahl ]
Die Zahl zr ist 6,8. [ in diesem Fall eine reelle Zahl ]
Die Zahl zr ist 5,0. [ in diesem Fall eine reelle Zahl ]
@NotLe0n NotLe0n added the Typ: Konzept Nur ein Konzept für eine Idee label Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Typ: Konzept Nur ein Konzept für eine Idee
Projects
None yet
Development

No branches or pull requests

1 participant