A propos des variables globales...

Sujets variés concernant le développement en PureBasic
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

A propos des variables globales...

Message par Dräc »

En général, il n’y a pas de problème puisqu’il est d’habitude de faire les déclarations en début de code, mais il y a une différence entre :

Code : Tout sélectionner

Global a.l

Procedure test()
  a + 20
EndProcedure

a=10
test()
Debug a
Donnant a=30

Et

Code : Tout sélectionner

Procedure test()
  a + 20
EndProcedure

Global a.l
a=10
test()
Debug a
Donnant a=10

Du moment que l’on défini une variable comme « globale », ces deux cas de figure ne devraient-ils pas etre les memes finalement?
Cette différence de résultat a t’elle une réelle utilité ?
Doit-on décréter que le deuxième code est mal écrit ?
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Du fait qu'à la compile le code est lu de haut en bas,
Ta globale ne l'est qu'après ta procèdure (2° exemple)
C'est aussi pour ça que les constantes sont énumérées en début de code, et que les procédures non déclarées doivent être écrites avant d'être appelées.
Enfin il me semble, mais je peux me tromper, j'en ai l'habitude. :roll:
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Je te remercie Dräc, j'ignorais complètement cet état de fait.

:?
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

C'est le problème d'un compilateur une passe.

Peut-être que le nouveau compilo prendra ça en compte.
Répondre