Archívum - Ápr 30, 2013
Körkörös függésnél kivétel
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.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:Illetve a _ az underscore.js a kódban.
■ 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.
createYyyy: function (keys) {
this.added = {};
this.yyyy= [];
_.each(keys, this.addTest, this);
return this.yyyy;
},
addTest: function (key) {
if (_.has(this.added, key))
return;
if (!_.has(this.use, key))
throw new SyntaxError("Test " + key + " is not registered.");
_.each(this.use[key].deps, this.addTest, this);
this.added[key] = true;
this.yyyy.push(key);
}
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:
this.use = {a:{deps:["a"]}};