ugrás a tartalomhoz

Archívum - Ápr 30, 2013 - Fórum téma

Körkörös függésnél kivétel

inf · 2013. Ápr. 30. (K), 11.39
Szép napot!

Nem feltétlen a js témakörbe tartozik, inkább algoritmusok témakör lenne a megfelelő, de mivel js-ben van, és nincs algoritmusok témakör, ezért ide tettem.
  1. createYyyy: function (keys) {  
  2.     this.added = {};  
  3.     this.yyyy= [];  
  4.     _.each(keys, this.addTest, this);  
  5.     return this.yyyy;  
  6. },  
  7. addTest: function (key) {  
  8.     if (_.has(this.added, key))  
  9.         return;  
  10.     if (!_.has(this.use, key))  
  11.         throw new SyntaxError("Test " + key + " is not registered.");  
  12.     _.each(this.use[key].deps, this.addTest, this);  
  13.     this.added[key] = true;  
  14.     this.yyyy.push(key);  
  15. }  
Ez a kód azt csinálja, hogy megadok neki bizonyos kulcsokat, aztán ő a use-ból kiválogatja a kulcsoknak megfelelő teszteket, illetve azok függőségeit, és a végén visszatér egy listával, ami a teszteket tartalmazza függőségi sorban. (A use úgy néz ki, mint a requirejs shim.)

Két kérdésem van ezzel a kóddal kapcsolatban, az egyik, hogy minek nevezzem az yyyy példányváltozót, a másik, hogy hogyan lehetne a körkörös függést kivétellel elkaszálni?

Körkörös függést adó kód:
  1. this.use = {a:{deps:["a"]}};  
Illetve a _ az underscore.js a kódban.