Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Berkeley
Anmeldungsdatum: 13.05.2024 Beiträge: 83
|
Verfasst am: 30.05.2024, 13:38 Titel: SUB-Parameterliste mit selbstdefinierten Operatoren |
|
|
=> Wie kann man die Parameterliste von SUBs so manipulieren, dass wie bei PRINT ein "," und ";" in der Parameterliste eine neuartige Funktion erfüllen ? |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1262 Wohnort: Ruhrpott
|
Verfasst am: 30.05.2024, 17:56 Titel: |
|
|
Könntest du etwas genauer beschreiben, was du vorhast? In der Parameterliste dient das Komma als Separator, und das Smikolon ist überhaupt nicht erlaubt und produziert eine Fehlermeldung.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2524 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 30.05.2024, 20:52 Titel: |
|
|
Folgendes geht noch am ehesten in diese Richtung:
https://www.freebasic.net/wiki/KeyPgOperator
Man kann die Operatoren für Rechenausdrücke überladen und so Dinge wie beispielsweise eine Klasse für komplexe Zahlen oder Vektoren programmieren, mit der man dann normale Ausdrücke schreiben kann.
Bei C++ wäre sogar das Komma ein meines Wissens überladbarer Operator, was bei FB nicht der Fall ist. Die Syntax von PRINT stammt so betrachtet noch als Rückwärtskompatibiltäts-Relikt aus der alten GWBASC/QBASIC-Zeit. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
hhr
Anmeldungsdatum: 15.07.2020 Beiträge: 107
|
Verfasst am: 30.05.2024, 23:25 Titel: |
|
|
Die Frage finde ich auch interessant. Ich vermute, dass das der Parser beim Kompilieren erledigt. Es wird geprüft, ob Komma oder Semikolon nach der Print Anweisung folgt und dann wird die Anweisung entsprechend umgestellt.
Für eigenes Programmieren muss man mit dem zufrieden sein, was FreeBasic bietet. |
|
Nach oben |
|
|
Berkeley
Anmeldungsdatum: 13.05.2024 Beiträge: 83
|
Verfasst am: 30.05.2024, 23:35 Titel: |
|
|
grindstone hat Folgendes geschrieben: | Könntest du etwas genauer beschreiben, was du vorhast? In der Parameterliste dient das Komma als Separator, und das Semikolon ist überhaupt nicht erlaubt und produziert eine Fehlermeldung. |
Nun, bei PRINT eben nicht. Und ich bräucht's für ne eigene PRINT-Funktion. Mit Komma zwischen den Ausdrücken erzeugt man Tabsprünge, mit Semikolon eine Verkettung von Ausdrücken. Steht ein Semikolon am Zeilenende, wird der Zeilenumbruch unterdrückt.
Offensichtlich handelt es sich um eine variable Parameterliste, zumindest kann man quasi beliebig viele Parameter hintereinanderreihen. |
|
Nach oben |
|
|
hhr
Anmeldungsdatum: 15.07.2020 Beiträge: 107
|
Verfasst am: 31.05.2024, 00:02 Titel: |
|
|
Vielleicht könnte printf weiterhelfen, das man mit crt.bi einbauen kann. |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4680 Wohnort: ~/
|
Verfasst am: 31.05.2024, 13:24 Titel: |
|
|
PRINT (und INPUT) arbeiten nicht mit variabler Parameterliste, sondern werden eigens geparst. Es gibt noch ein paar andere Besonderheiten, die nur in speziellen Befehlen existieren und sich nicht anderweitig nachbauen lassen - Koordinatenangaben über ein Zweiertupel zum Beispiel, oder die aus meiner Sicht mit ihrer Syntax ziemlich aus dem Rahmen fallende MID-Anweisung (deren Nutzen sehr überschaubar ist). Selbstgebaute Parameterlisten arbeiten ausschließlich mit Komma - außer du baust dir einen eigenen Präprozessor, der die Quelldatei passend vorbearbeitet und dann erst an den Compiler schickt. Der Präprozessor könnte dann die , durch ein !"\t" ersetzen und die ; durch ein , (oder so etwas in der Art). Compilieren geht dann halt nur mithilfe dieses Präprozessors. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
|