On Feb 7, 4:07 am, RobG <[EMAIL PROTECTED]> wrote:
> On Feb 6, 8:33 pm, Herr Ernst <[EMAIL PROTECTED]> wrote:
>
> > This is bad news for me.
> > Maybe you can help me though. My users can create some classes in a
> > particular order which are stored at runtime in an array. But I want
> > to make this persistent, i.e. storing in a cookie. I thought about
> > building a serialized string which contains the class/constructor and
> > the constructor arguments for each object. I've helped myself with the
> > following hack:
>
> > Car=Class.create({
> >   initialize: function() {
> >     this._class="Car";
> >   }
>
> It would be better to reference the object itself rather than it's
> name:
>
>       this._class = Car;
>
> As far as I know, using an underscore for a property name is intended
> to indicate a private variable, but _class is public and "class" is a
> reserved word.  Why not just use the public constructor property?
>
>
>
> > });
>
> > var benz=new Car();
>
> > //recreated benz
> > var benzclone=eval("new "+benz._class+"()")
>
>   var benzclone = new benz.constructor();
>
> > Pretty dirty, isn't it. Or does someone know a better method?
>
> See above.  Alternatively, consider using the features built into the
> language.  Use a normal constructor and the constructor property of
> objects constructed from it:
>
>   function Car(make) {
>     this.make = make;
>   }
>
>   var benz = new Car('Benz');
>   var fiat = new benz.constructor('Fiat');
>
>   alert(fiat.make);
>
> --
> Rob

this is an elaborate example of how you could implement something like
this...

var Car = Class.create({

  initialize: function(make) {
    this.constructor = 'Car';
    this.make = make;
  }

});

var Fiat = Class.create(Car, {

  initialize: function($super, type) {
    this.constructor = 'Fiat';
    $super('Fiat');
    this.type = type;
  }

});

var panda = new Fiat('Panda');
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Spinoffs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to