2019年12月9日月曜日

windower.send_command のアットマークは非同期実行の意味

じょーやさんのPositionsというアドオンに

windower.send_command('@wait 0.5;pos turn')

というコードがあった。このアットマークはどんな意味?
waitなので予想としては非同期実行かな?



"windower.send_command Async"でググると答えがあった。

It executes the command asynchronously, meaning the command handler returns before the command is fully processed.

ようするに、アットマークを付けない場合はコマンド内容が完了するまで次のコードに進まないのに対して、アットマークを付けるとすぐに次のコードに制御が移るという感じ。

consoleに渡される文にwaitが入っていると、完了するまで時間がかかってしまう。それを待ってしまうとアドオンの処理が止まってしまう。それを防ぐためにアットマークを付けている。

なお、pos turnについては、このアドオンの実行名がposで、自分自身を実行している。
そのときの引数としてturnを渡している。

0 件のコメント:

コメントを投稿