Главная > Новости > Привет сумасшедшие массивы!

Привет сумасшедшие массивы!

Что же случилось? А все просто, в справке написано: var oneArray:Array = new Array(«a», «b», «c»); типо вот у нас массив, с тремя элементами, ну клево, возрадуемся мощности технологий, а вот мне надо создать массив не с элементами «a», «b», «c», а с элементами 1, 2, 3, пожалуйста: var oneArray:Array = new Array(1, 2, 2); легко, вот вам массив с тремя элементами.

Теперь совсем «не тривиальная задача», нужен массив с одним элементом равный 1, чтобы oneArray[0] = 1, ну чтож, делаем по предыдущей схеме var oneArray:Array = new Array(1); ожидая, что oneArray[0] = 1, aн нет, oneArray[0] = undefined, чтобы вы думали? Конструкция new Array(1) создает массив единичной длинны, и неопределенным 0 элементом. Выход: var oneArray:Array =  [1];

Час искал какого-ж хрена не работает, расстроен.

  1. 28 Январь 2010 в 20:57 | #1

    Если действовать по аналогии, как описана в посте, то попасться на такую ошибку просто. Но ведь ничего «сумасшедшего» в этой конструкции нет.

    Класс может иметь несколько конструкторов, нужно просто помнить об этом. Компилятор же будет выбирать наиболее «подходящий» конструктор.

    Да и в самом хелпе написано:

    Array(numElements:int = 0)
    Lets you create an array of the specified number of elements.

    Array(… values)
    Lets you create an array that contains the specified elements.

  2. 28 Январь 2010 в 21:24 | #2

    @Bright
    Согласен, но конструктор вызывался следующим образом new Array (ActionItem.SELL_ITEM), поэтому баг и ловился долго:)

  3. 28 Январь 2010 в 22:28 | #3

    @Snut
    Ага, такие баги ооочень долго ловятся =) И написано вроде все правильно, а работает все равно не так %)

  4. 28 Январь 2010 в 22:31 | #4

    @Bright
    Вот именно:)

  5. 30 Сентябрь 2014 в 02:08 | #5

    A rolling stone is worth two in the bush, thanks to this artilce.

  6. 24 Февраль 2015 в 00:11 | #6

    Apparently this is what the esteemed Willis was talkin’ ’bout.

  7. 26 Февраль 2015 в 11:52 | #7

    None can doubt the vetaicry of this article.

  8. 1 Апрель 2015 в 19:13 | #8

    We covd’lue done with that insight early on.

  9. 5 Апрель 2015 в 05:59 | #9

    That’s a crrakecjack answer to an interesting question

  10. 6 Апрель 2015 в 20:08 | #10

    Girl, I feel ya. I completely understand this post.For me—— to make plans on the spur of the moment & follow through with them. Rather than having too much to do (too tired, too expensive, whatever), and trying to think of a way to get out of the obligation.just to shake off this mantle of responsibliity, just for a little while.

  11. 16 Апрель 2015 в 05:35 | #11

    This is a most useful contribution to the debate

  1. Пока что нет уведомлений.