03.01.2012, 19:32
|
Аспирант
|
|
Регистрация: 30.10.2008
Сообщений: 47
|
|
Не совсем. Можно ли каунт получить один раз и навсегда после добавления всех новых слов?
|
|
03.01.2012, 19:40
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Сообщение от diagnost
|
Я с первого поста спрашивал, как сделать так, чтобы не было "каждый раз", а был только один раз в момент вызова LWord.count
|
,
А чем вам не подошёл вариант предложенный в первых постах ?
function Lingvo() {
this.Eng = [];
this.Rus = [];
this.Add = function (EngWord, RusWord) {
this.Eng.push(EngWord);
this.Rus.push(RusWord); .
};
this.count = function ()
{
return this.Eng.length;
}
}
var LWord = new Lingvo;
LWord.Add("father", "папа");
LWord.Add("he", "он");
LWord.Add("bread", "хлеб");
LWord.Add("I", "я");
alert (LWord.count());
alert (LWord.Eng[1]);
alert (LWord.Rus[1]);
|
|
03.01.2012, 19:41
|
Профессор
|
|
Регистрация: 25.12.2011
Сообщений: 786
|
|
можно но тогда тебе нужно добавлять методами ПУШ и потом как надобавляешь, то есть после
LWord.Add("father", "папа");
LWord.Add("he", "он");
LWord.Add("bread", "хлеб");
LWord.Add("I", "я");
сделать следущее
LWord.count = LWord.Eng.length
и в каунте у тя будет лежать длинна.. пипец неужели это так сложно)))?
но такой способ медленнее которого я дал потмоу что тут действий больше а в моем одно)))
Последний раз редактировалось Livaanderiamarum, 03.01.2012 в 19:44.
|
|
03.01.2012, 19:43
|
Профессор
|
|
Регистрация: 25.12.2011
Сообщений: 786
|
|
Ну вот, самый лучший вариант
function Lingvo() {
this.count = 0;
this.Eng = [];
this.Rus = [];
this.Add = function (EngWord, RusWord) {
this.Eng[this.count] = EngWord; //суешь туда
this.Rus[this.count] = RusWord; //суешь сюда
this.count ++;//прибавляешь длинну
}
}
var LWord = new Lingvo;
LWord.Add("father", "папа");
LWord.Add("he", "он");
LWord.Add("bread", "хлеб");
LWord.Add("I", "я");
alert (LWord.count);
alert (LWord.Eng[1]);
alert (LWord.Rus[1]);
|
|
03.01.2012, 19:53
|
Профессор
|
|
Регистрация: 14.09.2011
Сообщений: 523
|
|
Проблема высосана из пальца
|
|
03.01.2012, 19:57
|
Профессор
|
|
Регистрация: 25.12.2011
Сообщений: 786
|
|
Сообщение от zebra
|
Проблема высосана из пальца
|
Проблема начинается от непонимания устройства систем языка)
|
|
03.01.2012, 20:32
|
Аспирант
|
|
Регистрация: 30.10.2008
Сообщений: 47
|
|
Сообщение от Livaanderiamarum
|
можно но тогда тебе нужно добавлять методами ПУШ и потом как надобавляешь, то есть после
LWord.Add("father", "папа");
LWord.Add("he", "он");
LWord.Add("bread", "хлеб");
LWord.Add("I", "я");
сделать следущее
LWord.count = LWord.Eng.length
и в каунте у тя будет лежать длинна.. пипец неужели это так сложно)))?
но такой способ медленнее которого я дал потмоу что тут действий больше а в моем одно)))
|
Я могу так получить длину, уже писалось об этом на предыдущих страницах несколько раз. Вопрос стоял другой. Можно ли написать объект, содержащий массив, чтобы длину массива можно было бы прочесть в count через вызов LWord.count без суммирования за один раз. Способ "внешнего" присвоения значения count, как посоветовали в этом сообщении, неприемлем по очевидным причинам - метод получения count должен находиться внутри объекта, а не через "внешние" операции с объектом. ООП предполагает именно такой подход.
Пока никто так на этот простой вопрос не дал ответа.
|
|
03.01.2012, 20:37
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сделайте count функцией. В чём проблема-то?
|
|
03.01.2012, 20:39
|
Аспирант
|
|
Регистрация: 30.10.2008
Сообщений: 47
|
|
Расшифрую. ИМХО, count правильно получать в Lingvo, а не в LWord и за один раз, а не постоянно суммируя.
|
|
03.01.2012, 20:39
|
Аспирант
|
|
Регистрация: 30.10.2008
Сообщений: 47
|
|
Kolyaj, вот не получается у меня. Может, у Вас получится? Попробуйте.
|
|
|
|