чего это они не работают. они работают кроме одного единственного узкого места - вызова подпрограммы внутри цикла
про доводку свитча. идея конечно интересная, хотя я такого не видел в других языках. в принципе реализуемо конечно но наверно нагромождение условий в данном случае будет не самой плохой идеей.
Я знаю. Но как назло это очень частый случай, по крайней мере у меня. Куда не ткни каждый третий в цикле или другой подпрограмме.
Про Swich... только не ругаться
В Autoit есть две похожие конструкции
Switch...Case...EndSwitch
http://autoit-script.ru/autoit3_docs/keywords/Switch.htmКак раз сравнение определённой переменной с разными диапазонами (или одним значением).
И очень похожая функция выбора
Select...Case...EndSelect
http://autoit-script.ru/autoit3_docs/keywords/Select.htmПосле Select переменная не указывается. Здесь мы в Case пишем любые выражения, не обязательно сравнивать с одной переменной.
Второй вариант универсальней, хоть и приходится иногда чуть больше писать.
В принципе второго варианта достаточно, чтобы перекрыть все потребности и первый частный случай.
В основном я пользовался Select, очень удобно.