1 (изменено: svoboden, 2017-09-04 08:48:57)

Тема: AHK: Вызов разных функций одной кнопкой

Почему при вызове функции автоматически отправляется цифра, установленная в тернарном операторе как значение переменной, или это не значение вовсе? Или есть более правильный способ поочередного вызова функций?

$1::send % r = 0 ? a() r := 1 : b() r := 0

a() {
send 1
}

b() {
send 2
}

2 (изменено: Alectric, 2017-09-04 17:44:43)

Re: AHK: Вызов разных функций одной кнопкой

Потому-что по кнопке сразу выполняется команда send - $1::send %... и в вызываемой функции тоже send.

$1:: (r = 0 ? (a() r := 1) : (b() r := 0))

a() {
send 1
}

b() {
send 2
}
$1:: (r:=!r) ? a() : b()

a() {
send 1
}

b() {
send 2
}
$1::send % (r:=!r) ? a() : b()

a() {
return 1
}

b() {
return 2
}
Win 10 x64
AHK
                       Справка AHK v1 тебе в помощь.