え? 常駐型(Idle)で、小数点以下の時間が使えるの?! [AppleScript辞書はつくれるか?]
いつからなのでしょう?
on idle (* ... *) return |繰り返すまでの時間| end idle |
という常駐型プログラムの|繰り返すまでの時間|に実数値が使えるようになったのは?
以前までは、アイドル状態で繰り返す最小単位が1秒(整数値)までしか使えませんでしたが、いつの間にか0.1秒のような小数点以下(実数値)が使えるようになっていたんですね。
例)
global x, y, z tell application "Finder" open home set bounds of window 1 to {100, 100, 500, 500} end tell set {x, y, z} to {100, 100, 1}
on idle if z = 1 then (* 右へ移動 *) set x to x + 5 if x ≥ 300 then set z to 2 else if z = 2 then (* 下へ移動 *) set y to y + 5 if y ≥ 300 then set z to 3 else if z = 3 then (* 左へ移動 *) set x to x - 5 if x ≤ 100 then set z to 4 else if z = 4 then (* 下へ移動 *) set y to y - 5 if y ≤ 100 then set z to 1 end if tell application "Finder" set bounds of window 1 to {x, y, x + 500, y + 500} end tell
return 0.01 end idle |
※『アプリケーション型』で『実行後に終了しない』にチェックして保存してから実行してください。
ただ、ウインドウが開いて右>下>左>上と動いて回るだけのプログラムですが、以前なら1周に数分かかると思われるところ、あっという間に1周していきます。
いや、見た目でわかるように組んだだけなので、こんな使い方は普通しないでしょうが、常駐型の最大のネックが解消されていましたね。
コメント 0