Просмотр полной версии : В цикле нужно создать n-ное кол-во массивов с именем “Имя”+i+j. Помогите.
В цикле нужно создать n-ное кол-во массивов с именем “Имя”+i+j. Помогите. Просмотрел этот раздел. Ответа на подобный вопрос не было.
http://www.flasher.ru/forum/showthread.php?t=139301
Не совсем понял как мне это поможет.
У меня код приблизительно такого плана будет. Да и плюс эти массивы будут объединятся.
for(var j=1;j<=3;j++) {
for(var i=1;i<=4;i++) {
eval("RRS"+i) = new Array
z=this["rrs"+i+j]._x
trace(this["rrs"+i+j]._x)
eval("RRS"+i) = [0],[[1],[z]],[3]]
trace(this["RRS"+i][1][1])
}
}
ахинея какая то. ниче не понятно что вы хотите по вашему коду
Да вы просто скобки не те и не там ставите :D
(eval (+ RRS i) = (0),((1), (z)), (3))
(trace (this(+ RRS i), (1 (1))))
А вообще, если серьезно, то вас действительно абсолютно не понятно.
Попробуйте сформулировать задачу в словах. Ваш код кде-то застрял в промежутке между Лиспом и AS, и понять его абсолютно не представляется возможным :)
(+ SomeName i) это новая фича чтоли? И как это по страрому написать можно было бы? ? уж явно не ("SomeName"+i) уж очень по разному звучит))))
Эту фичу придумали очень давно, в восьмидесятых годах, но в другом языке...
Просто выражение типа:
eval("RRS"+i) = [0],[[1],[z]],[3]]
Больше напоминает Лисп, чем AS. Скажем так, в ссылочных языках, в которых нельзя переопределить оператор "равно" присвоение результату работы функции не должно компилироваться (т.е. либо это должен быть поинтер, либо не присвоение), кроме всего прочего, там какая-то неразбериха с количеством скобок, их с одной стороны не хватает, или с другой стороны слишком много, но задумку понять это никак не помогает.
Не не, я просто не понял этой конструкции (+ RRS i) как это понимать ? Например i++ = i+1 или ++i , а вот твою как понять?
wvxvw, мне нужно сформировать несколько массивов с разными именами в цикле, а не один двухмерный массив. Это облегчит мне дальнейшие действия т.к. замес-то шести мерного массива у меня будет всего лишь трехмерный. Представленный код просто попытка понять методом тыка как это можно сделать. Хотя скорее всего это не принципиально, и поэтому сделаю все вторым способом.
in4core:
В Лиспе это функция сложения, там нет оператора сложения, есть только функция которая его реализует.
Kenaz:
var stringHash:Object = {};
stringHash["foo"] = [];
stringHash["foo"][0] = [];
. . .
Только, а зачем вам такие страшные конструкции строить?
А не проще ли было бы использовать классы и методы классов для добавления, например?
class Foo {
private var _children:Object/*Bar*/;
public function Foo()
{
super();
this._children = { };
}
public function addChild(child:Bar, alias:String):Void
{
this._children[alias] = child;
}
. . .
class Bar {
private var _children:Object/*String*/;
public function Bar()
{
super();
this._children = { };
}
public function addChild(child:String, alias:String):Void
{
this._children[alias] = child;
}
}
Удобно, понятно, и еще и проверка типов на этапе компиляции будет.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.