Français
Forum

V0.1.60 -> aucun Variablendeklarationen plus?

 
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?
 
04.10.2006  
 




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.
 
04.10.2006  
 



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
declare gx&,gy&

proc vect

    global gx&,gy&
    return (gx&*gy&)/(gy&*gx&)

endp
>
 
04.10.2006  
 




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. ^ ^
 
04.10.2006  
 




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
VAR X$ = "Hugo Maier"
>

(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.
 
04.10.2006  
 




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>
 
04.10.2006  
 




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  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

5.768 Views

Untitledvor 0 min.
GDL24.08.2015
Roland Schäffer06.01.2011

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie