in einigen anderen Programmiersprachen greift man beispielsweise auf eine Funktion (bzw. Methode) so zu:
Code: Alles auswählen
Console.WriteLine(Math.Abs(-54));
In PureBasic muss man den Funktionsnamen kennen, aber warum kann man das bei PB nicht ebenfalls so aufbauen, so dass man genau so zugreifen kann, wie oben im Beispielcode gezeigt?
Man kann zwar einen beliebigen Anfangsbuchstabe schreiben, aber es werden alle Funktionen aller Bibliotheken aufgelistet, die mit Hilfe des eingegebenen Anfangsbuchstabens gefunden wurden.
Da bekam ich eine Idee mit DeclareModule. Die in einem Modul definierten Variablen/Prozeduren werden ebenfalls in der Autovervollständigungsliste angezeigt.
Damit könnte man folgendes realisieren:
Code: Alles auswählen
Debug Math::Abs(-54)
Vorausgesetzt es sind auch die jewieligen PB-Funktionen im Modul als Variablennamen definiert.
Wie findet ihr diese Idee?
Ich finde es irgendwie praktischer. Man schreibt den Namen der gewünschten Bibliothek und es werden alle Funktionen aus dieser Bibliothek angezeigt, die man mit der Tabulatortaste auswählen kann, so wie man es in einigen anderen Programmiersprachen kennt.
Falls man gerne die Beschreibung einer Funktion lesen möchte, dann ist die Hilfe natürlich unentbehrlich, aber wenn man gerne auf eine beliebige Funktion einer bestimmten Bibliothek zugreifen möchte, könnte man es doch so machen.
Ist sowas eurer Meinung nach sinnvoll oder seid ihr der Meinung, man braucht es eigentlich nicht?
Ihr könnt es gerne mal ausprobieren, indem ihr die folgende Include-Datei einbindet und versucht, auf bestimmte Bibliotheken und Funktionen zuzugreifen.
Code: Alles auswählen
EnableExplicit
DeclareModule Math
Macro ACos : ACos : EndMacro
Macro ACosH : ACosH : EndMacro
Macro ASin : ASin : EndMacro
Macro ASinH : ASinH : EndMacro
Macro ATan : ATan : EndMacro
Macro ATan2 : ATan2 : EndMacro
Macro ATanH : ATanH : EndMacro
Macro Abs : Abs : EndMacro
Macro Cos : Cos : EndMacro
Macro CosH : CosH : EndMacro
Macro Degree : Degree : EndMacro
Macro Exp : Exp : EndMacro
Macro Infinity : Infinity : EndMacro
Macro Int : Int : EndMacro
Macro IntQ : IntQ : EndMacro
Macro IsInfinity : IsInfinity : EndMacro
Macro IsNaN : IsNaN : EndMacro
Macro Log : Log : EndMacro
Macro Log10 : Log10 : EndMacro
Macro Mod : Mod : EndMacro
Macro NaN : NaN : EndMacro
Macro Pow : Pow : EndMacro
Macro Radian : Radian : EndMacro
Macro Random : Random : EndMacro
Macro RandomData : RandomData : EndMacro
Macro RandomSeed : RandomSeed : EndMacro
Macro Round : Round : EndMacro
Macro Sign : Sign : EndMacro
Macro Sin : Sin : EndMacro
Macro SinH : SinH : EndMacro
Macro Sqr : Sqr : EndMacro
Macro Tan : Tan : EndMacro
Macro TanH : TanH : EndMacro
EndDeclareModule
Module Math : EndModule
;...