Как мне интерпретировать вывод Devel :: Утечка

Я запустил Devel :: Leak в моей программе, и я не понимаю вывод, который он мне дает.

Для начала я вижу это печать списка указателей. Могу ли я получить этот список в массиве? Затем я могу использовать FindRef, чтобы увидеть, откуда он исходит.

Например:

new 0xaebc28 : SV = PVGV(0x30e7e48) at 0xaebc28
  REFCNT = 1
  FLAGS = (GMG,SMG)
  IV = 0
  NV = 0
  PV = 0
  MAGIC = 0x2db7dc0
    MG_VIRTUAL = &PL_vtbl_glob
    MG_TYPE = PERL_MAGIC_glob(*)
    MG_OBJ = 0xaebc28
  NAME = "SUPER::"
  NAMELEN = 7
  GvSTASH = 0x76b228    "IO::File"
  GP = 0x314b170
    SV = 0x30283c8
    REFCNT = 1
    IO = 0x0
    FORM = 0x0  
    AV = 0x0
    HV = 0x301fdb8
    CV = 0x0
    CVGEN = 0x0
    GPFLAGS = 0x0
    LINE = 161
    FILE = "/mypath/perl_install/perl/lib/5.8.9/x86_64-linux/IO/File.pm"
    FLAGS = 0x0
    EGV = 0xaebc28      "SUPER::"

или несколько небольших записей:

new 0x161c268 : SV = RV(0x3029b40) at 0x161c268
  REFCNT = 1
  FLAGS = (ROK)
  RV = 0x161c218

Что мне делать с этим? Я получаю материал структуры Perl (magic, iv, pv, ..), нашел. Конструктор не может быть определен в код.

Итак, ActionScript-3 не может иметь несколько конструкторов?

26
задан Tom Brito 24 August 2010 в 18:51
поделиться

2 ответа

Нет, у вас не может быть нескольких конструкторов и одной и той же функции с разными сигнатурами, но вы можете использовать аргументы по умолчанию:

public function Shard(x:Number=NaN, y:Number=NaN) {
  //...
}

тогда вы можете вызвать new Shard() или новый осколок(100) или новый осколок(100, 200)

или вы также можете использовать переменные аргументы:

public function Shard(...args){
 if (args.length==0) {
   //...
 } else {
  //...
  var firstArg:Object=args[0];
  //...
 }
}
33
ответ дан 28 November 2019 в 07:16
поделиться

Это даже шире. AS3 вообще не поддерживает перегрузку функции .

Вы можете моделировать появление нескольких конструкторов со значениями параметров по умолчанию и / или динамически отправлять параметры различным методам init . В качестве альтернативы могут помочь фабрики настраиваемых объектов или статические методы создания.

12
ответ дан 28 November 2019 в 07:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: