2014-04-29 3 views
0

Nous travaillons sur un projet Scilab pour notre cours de mathématiques et nous avons des difficultés à utiliser des variables globales. Nous essayons d'utiliser une variable globale comme un compteur. Le compteur doit être modifié dans plusieurs fonctions mais chaque fois que le compteur n'enregistre pas la nouvelle valeur et revient à l'initialisée. Pourquoi le compteur n'est-il pas ajusté correctement?La fonction Scilab ne peut pas accéder à la variable globale

Concrètement, la situation est la suivante.

counter = 0 

function checkForA() 
    // Do some stuff 
    counter = counter + 1 
endfunction 

function checkForB() 
    // Do some stuff 
    counter = counter + 3 
endfunction 

function printCounter() 
    disp(counter) 
endfunction 

Merci à l'avance

Répondre

2

Pour autant que je peux vous dire besoin de préciser que les variables sont globales explicitement dans Scilab;

global counter 
counter = 0 

function checkForA() 
    global counter 
    // Do some stuff 
    counter = counter + 1 
endfunction 

function checkForB() 
    global counter 
    // Do some stuff 
    counter = counter + 3 
endfunction 

function printCounter() 
    global counter 
    disp(counter) 
endfunction 
+1

Cela fonctionne. Je ne savais pas que vous deviez le déclarer explicitement comme global avant de l'utiliser dans les fonctions. Merci! –

Questions connexes