| |
|
|
| je travaille grad à einem Update vom XPSE et j'ai qui Keyworderkennung verbessert.
XPSE achtet maintenant pas seulement si un Identifier deklariert ist, mais si cette aussi cela richtige Prefix et Postfix trägt.
Hierbei suis je grad à einer interessanten Stelle arrivé, car je pourrait eh bien den XPSE provoquer nichtdeklarierte Variablen trop déclarer. cela pourrait heissen cela on Variablen pas du tout plus déclarer muss. simple verwenden, XPSE deklariert modeste im Hintergrund.
Dabei entstehen naturellement mais un paire Fragen!
a) qui Programmieranfänger pourrait sich verschreiben, et sich wundern cela pas gemackert wird cela sa Variable pas deklariert ist.
b) comment soll XPSE entscheiden si une dans einer Procédure verwendete Variable bereits im Parent (bzw. Global) deklariert ist. quoi meint qui XProfaner ensuite? qui Globale ou bien une neue Locale?
c) Sollte es qui Standard son cela cela Autodeklarieren eingeschaltet ist, ou bien sollte es seulement sur Kompilerschalter aktivierbar son?
d) Hab je Fragen oublier qc? |
|
|
| |
|
|
|
RGH | [quote-part:417b5c2a5a=iF]a) qui Programmieranfänger pourrait sich verschreiben, et sich wundern cela pas gemackert wird cela sa Variable pas deklariert ist.[/quote-part:417b5c2a5a] pas seulement Programmieranfänger faire Faute de frappe! So une automatisch deklarierte Variable serait dans einem größeren Programme qui Fehlersuche zum Horrorszenario faire. là pouvoir on la fois une Faute de frappe, etwa chez qui Zuweisung. qui Variable wid automatisch deklariert. et ensuite cherchez on sich une Wolf, pourquoi den cette Wert nie zum tragen venez. il y a oui so viele Opportunités ... cela wäre pour mich qui Hauptgrund, cet Feature pas einmal anzubieten!
[quote-part:417b5c2a5a]b) comment soll XPSE entscheiden si une dans einer Procédure verwendete Variable bereits im Parent (bzw. Global) deklariert ist. quoi meint qui XProfaner ensuite? qui Globale ou bien une neue Locale?[/quote-part:417b5c2a5a] Bien sûr ist ensuite qui globale, bzw. übergeordnete Variable trop prendre. Woher sollte XPSE qui Gewissheit prendre, qui qui Programmierer es pas bewußt so gewollt hat?
quoi je mir présenter pourrait, si XPSE dans une solchen le cas (pas b)!) nachfragt: Variable xy pas deklariert. Soll vous deklariert volonté?. Klickt qui Anwender sur oui, wird vous dans den Quellcode am Anfang qui Procédure/des Programmes eingefügt, klickt il sur non, bricht XPSE ab, avec cela qui Anwender seinen Code korrigieren peux.
Salut Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 04.10.2006 ▲ |
|
|
|
|
| [quote-part:c10ff94482=RGH]cela wäre pour mich qui Hauptgrund, cet Feature pas einmal anzubieten![/quote-part:c10ff94482] bof! on deklariert nix dans C (zumindest wird on pas gezwungen ca dedans einer separaten Anweisung trop 1faire) et pas dans PHP. il y a riesige C et PHP-Programme - cela avec qui Fehlersuche comme Begründung, cela Feature garnicht anzubieten, halte je mais pas seulement c'est pourquoi verkehrt, mais aussi weil cela Debugging im Fehlerfall zumeist pas daher rührt cela on une variable faux geschrieben hat!
je muss en supplément gestehen, Variablendeklarationen nerven mich (cela hat nix avec Typendeklaration trop 1faire!) et ausser - cela es pour cela bessere Verständnis beim Programmierenlernen hilft, vois je rein rechnerisch keinen Grund en supplément - si qui Programmierer selbst entscheidet, cela il fähig ist aussi sans Deklaration de Variablen cet trop benutzen.
je halte cela Ganze plutôt pour un tolles Feature statt un Teufelswerk. je cherche seulement pour einem klaren et verständlichen Prinzip pour qui Umsetzung chez Grenzfällen.
Bien sûr doit Arrays et Strukturen weiterhin deklariert volonté - je serait mich aussi erstmal seulement sur une Typ stürzen - naturellement qui Longs. |
|
|
| |
|
|
|
| Nachtrag: cela beste ist wohl qui Prozeduren gänzlich trop kapseln. y benutzte Variablen sommes toujours local.
si on - et cela gucke je mir simple dem Erfahrungsschatz de PHP ab - une globale (ou bien übergeordnete) Variable meint, ensuite muss cet avec dem Schlüsselwort Global comme Global deklariert volonté.
Beispiel: KompilierenMarqueSéparation |
|
|
| |
|
|
|
Michael Wodrich | ensuite doit wohl wieder la fois un commutateur her.
je serait es pas so lustig trouver, si une Automatik mir lauter globale Variablen hinballert. cela voudrais je doch tunlichst vermeiden.
et si quelqu'un une variable volontiers comme globale avons voudrais, ensuite soll il s'il te plaît explizit angeben. Sonst sollte qui Variable toujours bistrot son.
qui Vorteil ist simple: hat on sich daran gewöhnt alles bistrot trop déclarer et Dinge qui woanders nécessaire volonté comme paramètre weiterzureichen, ensuite hat on aussi aucun Probleme avec Threads et Prozessen.
aussi cela Hauptprogramm peux sur globale Variablen verzichten:
Main Run_Main_Program Fin
et schwups ist alles dans Prozeduren et Funktionen im lokalen Umfeld. si Roland maintenant encore qui Système dans einem Namespace GLOBAL_VARS eintütet...
belle Grüße Michael Wodrich
était qui Turbo-iF encore plus rapide....... |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 04.10.2006 ▲ |
|
|
|
|
| oui c'est ca Michael - soooooooooooo vois ego aussi. ^ ^ |
|
|
| |
|
|
|
RGH | alors zumindest dans C et C++ (et dans Java) wird avec qui Typdeklaration aussi qui Variable deklariert. et im piège eines Schreibfehlers à plus tard Stelle wird rien automatisch deklariert, mais une Fehlermeldung ausgegeben, qui qui Variable encore pas deklariert ist. renversé gibt es naturellement aussi une Fehlermeldung, si le Variable deklariert et vous im gleichen Block bereits deklariert ist.
voulais on cet avec XPSE dans XProfan-Syntax übertragen, könne on un nouveau Schlüsselwort einführen, etwa VAR et diesem ensuite comment dans C qui Variable on le Fly beim ersten Auftreten déclarer: KompilierenMarqueSéparation (Dem entspräche dans C/C + +/Java: String X = Hugo Maier;) cet Variable wäre naturellement bistrot dans qui aktuellen Procédure/Methode. si je so par-dessus nachdenke .... packe je cela juste la fois sur qui ToDo-liste pour XProfan 11. qui variante comme mir et pourrait aussi droite vite trop realisieren son!
qui idée, qui dans einer Procédure/Methode seulement lokale Variablen bekannt sommes, hat une la quantité pour sich. XProfan lehnt sich ici mais à Pascal/Delphi à, dans dem übergeordnete Variablen dans Prozeduren/Funktionen bekannt sommes. j'ai aussi déjà par-dessus nachgedacht, cet Verhalten per Compilerschalter trop steuern et cela aus TurboBasic et Basic bekannte SHARED (anstelle des de iF vorgeschlagenen GLOBAL) trop verwenden, um sur Variablen qui übergeordneten plaine zugreifen trop peut. cet ist oui pas zwangsläufig Global, mais peux aussi qui aufrufende Procédure son. mais je schweife ab. ici soll es oui um XPSE aller et pas m künftige XProfan-Versionen ... ;)
Salut Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 04.10.2006 ▲ |
|
|
|
|
| Hm. bien sûr, var. peux vom xprofaneigenen PreCompi erledigt volonté - dans Xprofan peut oui IMHO Variablen eh onthefly deklariert volonté.
je übe mich alors simple la fois daran, une avec einem Kompilerschalter trop aktivierenden Modus herzustellen, um optionnel qui Autodeklaration einzuschalten. peut-être entstehen dabei oui lustige Gesetzmäßigkeiten quelle kompatibel rester. |
|
|
| |
|
|
|
RGH | [quote-part:aa916e5c88=iF]dans Xprofan peut oui IMHO Variablen eh onthefly deklariert volonté.[/quote-part:aa916e5c88] dire wir la fois so: cela DECLARE peux à chacun Stelle im Programme stehen. Allerdings braucht es arrêt cet Extrazeile. VAR wäre daher sogar et avec ca plus rapide, allerdings seulement, si es wirklich dans XProfan incorporé wird, et pas per Precompiler dans Déclarer X$ : X$ = umgewandelt wird. (DECLARE überprüft aus Tempogründen aussi pas, si cet Variable bereits deklariert ist. Es wird simple toujours qui zuletzt deklarierte Variable pris. mais cela hat encore niemand angemeckert.) avec VAR pourrait on arrêt juste une Zuweisung relier et spart cet Extrazeile. dans Java (mon derzeitige Hauptsprache dans qui Firma) habe je mich pas mal à cet Vorgehensweise gewöhnt.
Salut Roland (peut-être wird es doch déjà dans XProfan 10 undokumentiert drin son ... ;) ) |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 04.10.2006 ▲ |
|
|
|
|
| Grosse super
<offtopic>PS: XPSE peux dans qui prochain Version Umlaute, mais je serait es nie zugeben et comme Bug déclarer. </offtopic> |
|
|
| |
|
|
|
Jac de Lad | <offtopic> eh, c'est bien! </offtopic> |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 05.10.2006 ▲ |
|
|
|