Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

SUB-Parameterliste mit selbstdefinierten Operatoren

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Berkeley



Anmeldungsdatum: 13.05.2024
Beiträge: 46

BeitragVerfasst am: 30.05.2024, 14:38    Titel: SUB-Parameterliste mit selbstdefinierten Operatoren Antworten mit Zitat

=> 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
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1230
Wohnort: Ruhrpott

BeitragVerfasst am: 30.05.2024, 18:56    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2514
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 30.05.2024, 21:52    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
hhr



Anmeldungsdatum: 15.07.2020
Beiträge: 102

BeitragVerfasst am: 31.05.2024, 00:25    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Berkeley



Anmeldungsdatum: 13.05.2024
Beiträge: 46

BeitragVerfasst am: 31.05.2024, 00:35    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
hhr



Anmeldungsdatum: 15.07.2020
Beiträge: 102

BeitragVerfasst am: 31.05.2024, 01:02    Titel: Antworten mit Zitat

Vielleicht könnte printf weiterhelfen, das man mit crt.bi einbauen kann.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4637
Wohnort: ~/

BeitragVerfasst am: 31.05.2024, 14:24    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz