I'm obviously a bit slow - I'm afraid I can't get the below code to
work as expected. I've changed the concepts to family, people & toys
to simplify it, but no luck. I would expect the code to make two
alerts:
- My name is John. My toys are: camera,ipod,
- My name is Jane. My toys are: iphone,computer,
However, while the peoples' names are listed appropriately, it gives
all the toys to both people:
- My name is John. My toys are: camera,ipod,iphone,computer,
- My name is Jane. My toys are: camera,ipod,iphone,computer,
Why is this? Many thanks,
Iain
------------------------------------------------------------------------------------------------------
var Toy = Class.create({
initialize:function(name) {
this.name = name;
}
});
var Person = Class.create({
toys: [],
initialize: function(name) {
this.name = name;
},
speak: function() {
var string = "My name is " + this.name + ". My toys are: ";
$A(this.toys).each(function (toy) {
string += toy.name + ",";
}.bind(this));
alert(string);
},
appendToys: function(items) {
$A(items).each(function (item) {
this.toys.push(new Toy(item));
}.bind(this));
}
});
var Family = Class.create({
people:[],
appendPerson: function(name) {
this.people.push(new Person(name));
return this.people.last();
},
converse: function() {
$A(this.people).each(function(person) {
person.speak();
});
}
});
var family = new Family();
var p1 = family.appendPerson('John');
p1.appendToys([
'camera',
'ipod'
]);
var p2 = family.appendPerson('Jane');
p2.appendToys([
'iphone',
'computer'
]);
family.converse();
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---