kiRRow píše: ↑20 zář 2019, 11:32
Nenapadá mě případ, kdy by se lokální proměnná měla jmenovat stejně jako globální, ale určitě se to někomu někdy může hodit.
V podstate kdykoli funkce dela interne s necim podobnym, jako program globalne
Kód: Vybrat vše
int led=13;
int pasek[]={7,8,9,10,11};
setup(){
pinMode(led,OUTPUT);
for (int i=0;i<5;i++) pinMode((pasek[i],OUTPUT);
digitalWrite(led,LOW);
}
void blikni(int led) {
digitalWrite(led,LOW);
delay(100);
digitalWrite(led,HIGH);
delay(100);
digitalWrite(led,LOW);
}
void loop(){
blikni(led);
for (int i=0;i<5;i++) blikni(pasek[i]);
}
Nebo muzes mit Arduina, kazde ma sve cislo (node_id), a posilas jim vsem zpravy typu
"
node_id:123;play:1;led:0;
node_id:124;play:0;led:0;
node_id:125;play:17;led:1;
node_id:126;play:0;led:1;
"
pak dava smysl, aby funkce, co to dekoduje, pouzivala promenne node_id,play,led ackoli stejne nazvane promenne mas globalni.
To same pri prohledavani databazi ruznych typu, kde jsou nazvy polozek dane jednotne zvenku a nektere se shoduji s tvymi globalnimi.
Pokud ma program par radku (nebo par stovek radku), tak se to da jeste zaonacit tak, ze globalni nejak prejmenujes a lokalni jinak, ale jakmile to zacne byt vetsi system, s knihovnama a podobnyma legracema, tak by funkce stejne nemely pouzivat globalni promenne, jinak vedlejsi efekty rozbijou kde co a casto se stane, ze napises funkci s logicky nazvanyma promennyma a pak najednou pozdeji se ti hodi takova jmena pouzit i jako globalni. Nebo naopak das si nejake globalni jmena a pak najednou zacnes podporovat databazi/protokol, ktery pouziva stejne nazvy pro polozky a je jednoduche a logicke, aby funkce, co s nim pracuji mely lokalni promenne nazvane podle polozek.
(A spousta dalsich pripadu se vyroji, kdyz programy zacnou rust nad trivialni velikost. Pak clovek oceni, ze kdyz si ve funkci nazve promennou logicky a deklaruje ji tam, ze mu to nezmrsi neco globalniho)