趣味のためのMacに関するサイト > AppleScript > MacOS 10.6 10.8のベンチマークテスト Xbench (Mac) 3 サブルーチンを使ってリピート文を簡単にしてみる
AppleScript

MacOS 10.6 10.8のベンチマークテスト Xbench (Mac) 3 サブルーチンを使ってリピート文を簡単にしてみる

例によって、こちらで勉強させてもらいました。

『on サブルーチン名()』〜『end サブルーチン名』がサブルーチン部です。
『on サブルーチン名( [パラメータ1, パラメータ2, ・・・] ) 』の『on』は『to』としても動作は同じです。パラメータを与えるときは『 ( ) 』内に(複数あるときは『, 』で区切って)記述します。
サブルーチン実行後の結果(値)を得るにはサブルーチン内に『 return値 』を記述します。

サブルーチンを使うメリットは、リピート文がどこからどこまでをしていているかが

わかりやすくなるということです。

反面、抜け出す事、サブルーチンの中の結果の値を取り出す事がむずかしいというデメリットもあります。

試してみましたが、上手く動きませんでしたので、やむを得ず普通のリピート文にしました。

リピート文で、時間を計測しそれをリストの最後尾に入れるという作業です。

変数 theListでは取り出せませんでしたので、AppleScript、Editorの結果欄の値を使用します。

複数回のテスト結果値のリストを一遍に調べることができましたので便利だと思います。

今回の構文の目的は、アプリケーション「テキストエディット」が

MacOS 10.8.2と10.6.8での起動時間の違いを調べるというものでしたが、

自分で書いた構文を良く見返してみると、AppleScriptで命令して何行かを処理する時間を

計っているだけに過ぎないなと思います。

しかし、その何行かの処理時間の差がOSの性能と言えなくもないので、

(苦しいいいわけ)

ベンチマークテストの一環としては、やむを得ないかなと考えています。

  1. –計測値をリストに入れる。 
  2. –指定の回数だけ繰り返す。 
  3. –まとめてクリップボードに書き出す。 
  4. –もし起動していたら、終了させる。saving no とやりたいが無理。
  5. –念のため両方をOnyXで。 
  6. –回数をカウント。 
  7. –サブルーチン 
  8. –最後にectoで表組 
  9. display dialog 繰り返す回数を入力してください。 default answer  buttons {キャンセル, OK} default button 2
  10. copy the result as list to {text_returned, button_pressed}
  11. set repKaisu to text_returned
  12. set theList to {}
  13. repeat repKaisu times
  14.     –set pri_1 to my keisoku()–サブルーチング化失敗
  15.     –on keisoku()
  16.     tell application TextEdit
  17.         quit
  18.     end tell
  19.     delay 3.0
  20.     tell application TextEdit
  21.         activate
  22.     end tell
  23.     –テキストエディットのバージョンを確認。10.8/1.8 
  24.     –OSAXのラップタイムを使用 
  25.     –http://www.macupdate.com/app/mac/36155/laptime 
  26.     –計測開始 
  27.     set tm to start timer
  28.     –面倒なのでリストにしないでテキストエディットだけを指定 
  29.     tell application TextEdit
  30.         activate
  31.     end tell
  32.     –計測停止、LapTimeの指定の書式。 
  33.     stop timer tm
  34.     set theTime to result
  35.     –ミリ秒の計測なので、1/1000に。 
  36.     set theTime to theTime / 1000
  37.     –型変換 
  38.     set theTime to theTime as text
  39.     –小数点以下をそろえるために、小数点の位置を調べる。 
  40.     offset of . in theTime
  41.     set DD to result
  42.     –小数点以下を3桁に 
  43.     set theTime to text 1 thru (DD + 3) of theTime
  44.     –これをアクティベート(前面に出さないと見えない。) 
  45.     tell application AppleScript Editor
  46.         activate
  47.     end tell
  48.     –display dialog “起動に ” & theTime & ” 秒かかりました” buttons {“OK”} default button 1
  49.     tell application TextEdit
  50.         quit
  51.     end tell
  52.     set the end of theList to theTime
  53.     –これを入れないと複数の値の保存が出来ない。 
  54.     set the theList to theList
  55.     –return theList
  56.     –end keisoku
  57. end repeat

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

ページトップに戻る↑                           ページ一番下へ↓

Mac

About 1q3

ツールとしてのMacについてのメリットデメリットなどの事について書いています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

Optionally add an image (JPEG only)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください