5

いくつかのキーボード イベント コードをデバッグしていて、(キーボード イベントを作成する機会を与えるために) スリープ状態でループしたいのですが、これを実行すると、Pharo は Command- で終了させて​​くれません。したがって、デバッグは困難です。以下のコードで何かを修正するために500秒待たなければなりませんでした...

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

では、Command- を作成するにはどうすればよいでしょうか。仕事、またはより適切なものはあり(Delay forSeconds: 5) wait.ますか?

4

3 に答える 3

1

これが Pharo で機能するかどうかは完全にはわかりませんが、Squeak では新しいプロセスでコードをフォークするだけでよいため、UI をブロックしません。

[
    100 timesRepeat: [ 
        Transcript show: 'Type an a... '.
        (Delay forSeconds: 5) wait.
        (Sensor keyPressed: $a) ifTrue: [ Transcript show: 'you pressed a' ].
    ].
] fork.
于 2013-07-03T09:33:12.093 に答える
1

Mac OS X の Squeak で正常に動作します ( を使用しpeekKeyboardEvent、 はありませんkeyPressed:)。したがって、コードのせいではありません。これを中断しても問題なく動作するはずです。

于 2013-05-07T07:55:09.783 に答える