Quote (Faion)
Лучше структур использовать параллельные массивы
Самописные конструктор и деструктор дадут тот же эффект при более удобном "точечном" синтаксисе.Code
library_once ctor
module ctor
private static integer max = 0
private static boolean array empty
static method create takes nothing returns thistype
local thistype this = 0
loop
if this >= max then
set max = max + 1
call this.ctor_new()
exitwhen true
endif
exitwhen empty[this]
set this = this + 1
endloop
set empty[this] = false
return this
endmethod
method destroy takes nothing returns nothing
set empty[this] = true
endmethod
endmodule
endlibrary
struct mystruct extends array
timer t
unit u
private method ctor_new takes nothing returns nothing
set .t = CreateTimer()
endmethod
implement ctor
endstruct
Лучшим вариантом, по-моему, является организация стека, как показано здесь. Однако применимо не везде.