ugrás a tartalomhoz

Archívum - Ápr 30, 2013

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.

        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);
        }
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:

this.use = {a:{deps:["a"]}};
Illetve a _ az underscore.js a kódban.