2013-05-06 14 views
5

Sto eseguendo il debug di un codice evento della tastiera e desidero effettuare il ciclo con un sonno (per darmi la possibilità di creare l'evento tastiera), tuttavia quando eseguo questo Pharo non mi consentirà di uscire con Command-. quindi il debugging è difficile. Ho dovuto aspettare 500 secondi per sistemare qualcosa nel codice qui sotto ...Come faccio a dormire per alcuni secondi in Smalltalk Pharo e posso interrompere questo?

100 timesRepeat: [ 
    Transcript show: 'Type an a... '. 
    (Delay forSeconds: 5) wait. 
    (Sensor keyPressed: $a) ifTrue: [ Transcript show: 'you pressed a' ]. 
] 

Quindi, come posso fare Command-. lavoro, o c'è qualcosa di più adatto di (Delay forSeconds: 5) wait.?

+0

Io corro Pharo 2.0 su Mac OS X. –

+0

Puoi provare in un'immagine 3.0? Penso che di recente abbiamo corretto alcune cose nell'interrupt globale – camillobruni

+0

Verificherò la versione 3.0 ad un certo punto, tuttavia ho bisogno di qualcosa che funzioni in Pharo 2.0 in quanto questa è la piattaforma che stiamo usando. Ci sono piani per Pharo 2.1 con questo tipo di correzioni? –

risposta

1

Funziona bene in Squeak su Mac OS X (utilizzando peekKeyboardEvent, non dispone di keyPressed:). Quindi non è colpa del tuo codice, l'interruzione dovrebbe funzionare correttamente.

+0

Sì, funziona anche con Squeak 4.4, ma ho bisogno di qualcosa che funzioni in Pharo 2. –

0

Io non sono del tutto shure questo funziona in Pharo, ma in Squeak si può solo fork il codice in un nuovo processo, in modo da non bloccare l'interfaccia utente:

[ 
    100 timesRepeat: [ 
     Transcript show: 'Type an a... '. 
     (Delay forSeconds: 5) wait. 
     (Sensor keyPressed: $a) ifTrue: [ Transcript show: 'you pressed a' ]. 
    ]. 
] fork. 
Problemi correlati