Español
Foro

V0.1.60 -> Keine Variablendeklarationen mehr?

 
Yo arbeite grad a una Actualización vom XPSE y yo habe el Keyworderkennung mejorado.

XPSE achtet ahora no sólo si una Identifier deklariert es, pero si dieser auch el richtige Prefix y Sufijo trägt.

Hierbei bin Yo grad a uno interessanten Punto angekommen, porque Yo podría nun el XPSE veranlassen nichtdeklarierte Variables a deklarieren. Das podría heissen el uno Variables überhaupt no mehr deklarieren muss. Einfach uso, XPSE deklariert unauffällig en el Hintergrund.

Dabei entstehen natürlich aber unos pocos Fragen!

a) Der Programmieranfänger podría se verschreiben, y se wundern el no gemackert se el seine Variable no deklariert es.

b) Como se XPSE entscheiden si una en uno Procedimiento verwendete Variable ya en el Parent (o. Global) deklariert es. Was meint el XProfan entonces? El Globale oder una neue Locale?

c) Sollte lo el Standard ser el el Autodeklarieren eingeschaltet es, oder debería lo sólo encima Kompilerschalter aktivierbar ser?

d) Hab Yo Fragen vergessen?
 
04.10.2006  
 




RGH
[quote:417b5c2a5a=iF]a) Der Programmieranfänger podría se verschreiben, y se wundern el no gemackert se el seine Variable no deklariert es.[/quote:417b5c2a5a]
No sólo Programmieranfänger hacer Tippfehler! So una automáticamente deklarierte Variable sería en un größeren Programa el Fehlersuche para Horrorszenario hacer. Como macht uno veces a la Tippfehler, etwa en Zuweisung. El Variable wid automáticamente deklariert. Und entonces sucht uno se una Wolf, por qué el dieser Valor nie para tragen kommt. Lo son sí así viele Möglichkeiten ...
Das wäre para mich el Hauptgrund, dieses Feature no una vez anzubieten!

[quote:417b5c2a5a]b) Como se XPSE entscheiden si una en uno Procedimiento verwendete Variable ya en el Parent (o. Global) deklariert es. Was meint el XProfan entonces? El Globale oder una neue Locale?[/quote:417b5c2a5a]
Natürlich es entonces el globale, o. übergeordnete Variable a nehmen. Woher debería XPSE el Gewissheit nehmen, daß el Programmierer no bewußt así gewollt ha?

Was Yo vorstellen podría, si XPSE en una solchen Fall (no b)!) nachfragt: Variable xy no deklariert. Soll ellos deklariert voluntad?. Klickt el Anwender en sí, se ellos en el Quellcode al Anfang el Procedimiento/des Programmes eingefügt, klickt él en Nein, bricht XPSE de, así el Anwender seinen Code korrigieren kann.

Saludo
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:c10ff94482=RGH]Das wäre para mich el Hauptgrund, dieses Feature no una vez anzubieten![/quote:c10ff94482]
Naja! Man deklariert nix en C (zumindest se uno no gezwungen dies innerhalb uno separaten Anweisung a tun) y no en PHP. Lo son riesige C y PHP-Programas - el con el Fehlersuche como Begründung, el Feature garnicht anzubieten, halte Yo pero no sólo deshalb verkehrt, pero auch porque el Debugging en el Fehlerfall zumeist no por lo tanto rührt el uno una variable falso geschrieben ha!

Yo muss dazu gestehen, Variablendeklarationen nerven mich (Das ha nix con Typendeklaration a tun!) y salvo - el lo para el bessere Verständnis beim Programmierenlernen hilft, sehe Yo rein rechnerisch no Grund dazu - si la Programmierer incluso entscheidet, el él fähig es auch sin Deklaration de Variables esta a benutzen.

Yo halte el Ganze más para una tolles Feature en lugar de una Teufelswerk. Yo búsqueda sólo una klaren y verständlichen Principio para el Umsetzung en Grenzfällen.

Natürlich necesario Arrays y Estructuras weiterhin deklariert voluntad - Yo sería mich auch primero sólo en una Typ stürzen - natürlich el Longs.
 
04.10.2006  
 



Apéndice: Das beste es wohl el Prozeduren gänzlich a kapseln. Darin benutzte Variables siempre local.

Wenn uno - y el gucke Yo simplemente el Erfahrungsschatz de PHP de - una globale (oder übergeordnete) Variable meint, entonces muss esta con el Schlüsselwort Global como Global deklariert voluntad.

Ejemplo:
KompilierenMarcaSeparación
declare gx&,gy&

proc vect

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

endp
>
 
04.10.2006  
 




Michael
Wodrich
Dann muß wohl otra vez veces una Schalter her.

Yo sería no así lustig encontrar, si una Automatik me lauter globale Variables hinballert. Das möchte Todavía tunlichst vermeiden.

Und si alguien una variable gerne como globale haben möchte, entonces se él el Por favor, explizit angeben. Sonst debería el Variable siempre lokal ser.

Der Vorteil es simplemente: ha uno se daran gewöhnt alles lokal a deklarieren y Dinge el woanders benötigt voluntad como Parámetro weiterzureichen, entonces ha uno auch no Problemas con Hilos y Prozessen.

Auch el Hauptprogramm podrá, a globale Variables verzichten:

Main
Run_Main_Program
End

Und schwups es alles en Prozeduren y Características en el lokalen Umfeld. Wenn Roland ahora todavía el Systemvariablen en un Namespace GLOBAL_VARS eintütet...

Schöne Grüße
Michael Wodrich

War el Turbo-IF ya otra vez más rápido.......
 
Programmieren, das spannendste Detektivspiel der Welt.
04.10.2006  
 



Exactamente Michael - soooooooooooo sehe ego auch. ^ ^
 
04.10.2006  
 




RGH
Also zumindest en C y C++ (y en Java) es con el Typdeklaration auch el Variable deklariert. Und en el Falle uno Schreibfehlers a spätere Punto se nichts automáticamente deklariert, pero una Fehlermeldung ausgegeben, daß el Variable todavía no deklariert es. Umgekehrt hay natürlich auch una Fehlermeldung, si la Variable deklariert y ellos en el gleichen Block ya deklariert es.

Wollte uno dieses con XPSE en XProfan-Syntax übertragen, könne uno una neues Schlüsselwort einführen, etwa VAR y diesem entonces como en C el Variable on the Fly beim ersten Auftreten deklarieren:
KompilierenMarcaSeparación
VAR X$ = "Hugo Maier"
>

(Dem entspräche en C/C + +/Java: String X = Hugo Maier;)
Diese Variable wäre natürlich lokal en el aktuellen Procedimiento/Método.
Wenn Yo así darüber nachdenke .... packe Yo el igual veces en el ToDo-Liste para XProfan 11. El Variante gefällt me y dürfte auch bastante rasch a realisieren ser!

Der Gedanke, daß en uno Procedimiento/Método sólo lokale Variables bekannt son, ha una Menge para se. XProfan lehnt se hier aber a Pascal/Delphi a, en el übergeordnete Variables en Prozeduren/Características bekannt son. Yo habe auch ya darüber nachgedacht, dieses Comportamiento por Compilerschalter a steuern y el de TurboBasic y Basic bekannte SHARED (anstelle des de IF vorgeschlagenen GLOBAL) utilizarse, en en Variables el übergeordneten Ebene zugreifen a puede. Diese es sí no zwangsläufig Global, pero kann auch el aufrufende Procedimiento ser. Aber Yo schweife de. Hier se lo sí en XPSE ir y no m künftige XProfan-Versionen ... ;)

Saludo
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. Klar, var. Kann vom xprofaneigenen PreCompi hecho voluntad - en Xprofan puede sí IMHO Variables eh onthefly deklariert voluntad.

Yo übe mich also simplemente veces daran, una con un Kompilerschalter a aktivierenden Modus herzustellen, en optional el Autodeklaration einzuschalten. Tal vez entstehen esta sí lustige Gesetzmäßigkeiten welche kompatibel bleiben.
 
04.10.2006  
 




RGH
[quote:aa916e5c88=iF]en Xprofan puede sí IMHO Variables eh onthefly deklariert voluntad.[/quote:aa916e5c88]
Sagen wir veces así: Das DECLARE kann a cada Punto en el Programa posición. Aunque braucht lo sólo esta Extrazeile. VAR wäre por lo tanto incluso todavía algo más rápido, allerdings sólo, si wirklich en XProfan instalado se, y no por Precompiler en Declarar X$ : X$ = umgewandelt se.
(DECLARE überprüft de Tempogründen auch no, si esta Variable ya deklariert es. Lo se simplemente siempre el zuletzt deklarierte Variable genommen. Aber el ha todavía niemand angemeckert.)
Mit VAR podría uno sólo igual una Zuweisung verbinden y spart esta Extrazeile. In Java (mi derzeitige Hauptsprache en el Firma) Yo mich bastante bien a esta Vorgehensweise gewöhnt.

Saludo
Roland
(tal vez se lo doch ya en XProfan 10 undokumentiert drin ser ... ;) )
 
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 Klasse

<offtopic>PS: XPSE kann en el nächsten Versión Umlaute, pero yo sería lo nie zugeben y como Bug deklarieren. </offtopic>
 
04.10.2006  
 




Jac
de
Lad
<offtopic> Oh, el es 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  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

5.776 Views

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

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie