Dynamically generate new named class from string with coffeescript -


i have looked around , have found number of questions approach using-a-string-to-define-the-class-name , dynamic-class-generation-in-coffeescript> neither of them address problem, wondering whether making fundamental mistake in approach problem.

in loop below looping through data parsed json. each set of data want extend class robot string = new robot string string.

currently code not produce errors, , creates new robots since name string, trying access them robot1.move() or robot2.dosomeotherclassything() not work , tells me undefined.

this seems should not require verbose helper function make work. missing here?

 createrobots: -> # process robot commands         createxcoord = missiondata.xcoord         createycoord = missiondata.ycoord         createorient = missiondata.orientation         createinstru = missiondata.robotinstructions         command in createorient           robot = 'robot' + (_i + 1)           name = robot           robot = new robot \ # create named robot              name           , createxcoord[_i]            , createycoord[_i]            , createorient[_i]            , createinstru[_i]           console.log(robot) 

i think happening variable "robot = 'string' written on when robot = new robot declared.

the outcome hoping string1 = new robot, "string2 = new robot". make sense? jsfiddle.net/7en5y/1

you need add them context. if want them global, create variable this:

# either browser root, or commonjs (e.g. node) module root root = window or exports 

if want object holds robots, add such object root.

root.robots = [] 

then when creating robots, add them such object.

robot = 'robot' + (_i + 1) name = robot robot = new robot # ... root[name] = robot # or robots[name] = robot 

you may use code robot1.move(), or robots.robot1.move() (depending on if attached them root or not).


Comments

Popular posts from this blog

SPSS keyboard combination alters encoding -

Add new record to the table by click on the button in Microsoft Access -

javascript - jQuery .height() return 0 when visible but non-0 when hidden -