Don't do for (var c in classes) where classes is an array. That's a
recipe for trouble.

Here's a smaller (and in modern browsers, faster) implementation:

http://mootools.net/shell/XE5TR/1/

On Dec 24, 1:31 pm, Oskar Krawczyk <[email protected]> wrote:
> Alright, Sean McArthur solved the problem, 
> here:http://mootools.net/shell/XE5TR/
>
> On 24 Dec 2009, at 18:26, Roman Land wrote:
>
>
>
> > I think that is what I said, you need to first split the string based on 
> > '.' and then use these to access the property you want.. a[b][c] etc..
>
> > And there is no need for eval...
>
> > Was this a job interview question you got?
>
> > On Thu, Dec 24, 2009 at 7:59 PM, Oskar Krawczyk <[email protected]> 
> > wrote:
> > I was expecting this would need hacking.
>
> > Nor regex or split will help- I really don't want to use eval()... To get 
> > the correct path: window[a][b].version
>
> > Sent from my iPhone
>
> > On 24 Dec 2009, at 17:23, Roman Land <[email protected]> wrote:
>
> >> I think this is not according to JS specification, example:
>
> >> var a = {'test.test' : "blah"};
> >> console.log(a['test.test']); // this works and splits "blah"
>
> >> So there is no 100% true way to build path from the script. but if you 
> >> want there are two ways I can think of:
> >> 1. using regex
> >> 2. using 'some.path'.split('.') will give you two elements to play with. 
> >> (but you have to be more elaborate with longer paths)
>
> >> In short, I think you are doing something wrong.. this is hacking basic 
> >> stuff that IMO you shouldnt..
>
> >> On Thu, Dec 24, 2009 at 6:55 PM, Oskar Krawczyk <[email protected]> 
> >> wrote:
> >> Yeah yeah, not Moo but Vanilla. I trust you guys more than any other JS 
> >> group so I'll just go ahead ask here:
>
> >>http://www.mootools.net/shell/q5ngz/
>
> >> There's a dynamic number of objects:
>
> >> ScriptInfo = {
> >>     version: '1.2'
> >> };
>
> >> AnotherScriptInfo = {};
> >> AnotherScriptInfo.Extension = {
> >>     version: '1.2'
> >> };
>
> >> And a config:
>
> >> var classes = ['ScriptInfo', 'AnotherScriptInfo.Extension'];
>
> >> What I need is to get into: window.NNN.version - where NNN can be one 
> >> property or 10.
>
> >> Of course doing window['AnotherScriptInfo.Extension'].version ain't gonna 
> >> fly.
>
> >> How do I deal with this? It's probably simpler than any solution that 
> >> comes to mind at this moment.
>
> >> ___
>
> >> Oskar Krawczyk
> >>http://nouincolor.com
>
> >> --
> >> ---
> >> "Make everything as simple as possible, but not simpler."
>
> >> - Albert Einstein
>
> > --
> > ---
> > "Make everything as simple as possible, but not simpler."
>
> > - Albert Einstein

Reply via email to