Autohotkey, döngümün sonundaki her şeyi yürütüyor


2

Ok tuşlarımı (hjkl) yapmak için otomatik tuş tuşunu kullanıyorum ve sayfalamalı / yukarı çekmeden daha hızlı kaydırma yapıyorum;

Sorun şu ki, ahk "boşluk çubuğu" döngüm bittiğinde her şeyi yürütüyor. Ör. Aşağıdaki kodda, 16 boşluk ve bir boşluk daha olacak. "Z" ye basmadığım sürece bir boşluk kalmamalı.

Suspend On

h::Left
j::Down
k::Up
l::Right

space::
    Loop,8{
        Send {Down}
        Send {Down}
    }

z::
    Send {Up}

+Capslock::
CapsLock::Suspend Off
CapsLock Up::Suspend On

Şimdi döngülerle ilgili birkaç ders izledim ve nasıl yanlış bir şey yaptığımı anlamıyorum. Kodun geri kalanı çalışıyor.

Yanıtlar:


4

Gerek return Her çok hattın sonunda yöntem veya kısayol tuşu. Aksi takdirde, mantıkla, belirli bir yöntemin ne zaman biteceğini belirtmediniz. Tek satırlı yöntemlerin ima edildiğine dikkat edin. return Beyan.

Senaryoyu temizledim ve düzelttim (virgül, büyük harf, girinti / boşluk ve stilleri kendi satırlarına yerleştirme konusunda katı bir stilim var):

Suspend, On

h::Left
j::Down
k::Up
l::Right

Space::
    Loop, 8
    {
        Send, {Down}
        Send, {Down}
    }
    return

z::
    Send, {Up}
    return

+CapsLock::
CapsLock::Suspend, Off
CapsLock Up::Suspend, On

Ah! Bu çok mantıklı geliyor, teşekkür ederim!
CornSmith

Hm ve girinti konusunda haklısın. Daha yeni tamir ettim.
CornSmith

1
@CornSmith Girinti bir fark yaratacaktır sanmıyorum. Burada veya orada bir boşluğa sahip olmamak olabilir, ancak girinti sadece okunabilirlik içindir.
iglvzx

1
Neyse, Süper Kullanıcıya Hoşgeldiniz! Tatminkar ise cevabımı kabul edebilirsiniz. Bu, topluluğun diğer sorulara geçmesini bilmesine yardımcı olacaktır :)
iglvzx
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.