Тема: AHK: видимость переменных метода класса
var1:=new _Frame(5)
var2:=new _Frame(10)
msgbox % var1.binary("get") "-" var2.binary("get") ;под идее на выходе должно быть 5-10 или я чего-то не понимаю?
class _Frame {
__New(size) {
this.binary("new", size)
}
binary(func, size=0) {
static var
if(func="new")
var:=size
else if(func="get")
return var
}
}
Более наглядный пример:
tank:=new unit("t72a",5,1200,237)
human:=new unit("human",6,100,8)
tank.Pos("setX", 10)
human.Pos("setY", 15)
msgbox % tank.Pos("getY") "`n" ;т.к. позиция y не установлена,то вернуть должно ничего
. human.Pos("getX") ;тут должна быть ситуация очевидна
F5::reload
class unit {
static name,id,health,armor
__New(name,id,health,armor) {
this.name:=name
this.id:=id
this.health:=health
this.armor:=armor
}
Pos(func,value=0) {
static x,y
if (func="setX")
x:=value
else if(func="setY")
y:=value
else if(func="getX")
return x
else if(func="getY")
return y
}
}