autohotkey как да преминавате през масив

Аз съм главно разработчик на javascript и започвам да играя с authotkey. Предполагам дали има по-добър начин за преминаване през масив от начина, по който използвам. По принцип е така:

cycle(value,maxValue){
 value += 1
 if value not between 1 and %maxValue%
    value :=1
 return value
}

След това го използвам така:

variable := cycle(variable,array.MaxIndex())

Изглежда малко елементарно. Има ли друг начин?

РЕДАКТИРАНЕ:

Видях, че описанието ми не е ясно. Това, което искам, е да получа променливи от масива по кръгов начин: когато поискате следващата стойност и вече сте на последната, започнете отново от началото.


person Danielo515    schedule 18.02.2015    source източник


Отговори (2)


Благодаря за справката. Имах намерение да разгледам този.
person blackholyman    schedule 18.02.2015
comment
Здравей Blackholman, сега виждам, че въпросът ми не беше ясен. Не искам да минавам през целия масив. Просто искам да получа следващата стойност при всяко натискане на клавиш (например) и след това да започна отново отначало, след като достигна максималната стойност. В Javascript бих използвал mod оператора, но изглежда, че няма лесен начин за AHK - person Danielo515; 19.02.2015
comment
Здравей blackholyman. Да, полезно е, но търсех нещо по-подобно на моя собствен отговор. Много ти благодаря все пак. - person Danielo515; 20.02.2015

Тъй като това, което blackholyman направи, е правилно, то не е насочено към масиви. Ето един подход, за който сега знам, че работи:

i:=0,somearr:= ["bla","morebla","bla bla"]
;-- do whatever stuff here
somearr[i:=i>1?--i:somearr.MaxIndex()]
person Danielo515    schedule 20.02.2015