スクリプトな戯れ言

このページでは,OS XでのApplescriptで遊んでみたことや,公開したスクリプトなどについて,ときにソースをまじえながら,つらつらと書いていきたいと思っています。


日付の計算(2005/2/11)

このページ,最初から“超”不定期更新のつもりでしたが,本当にそうなってしまいました(^^;)。

昨日,トップページのカウンタが15万をこえました。そこで,過去の情報をもとにして,1日平均にするとどれくらいになるのだろうと思い,スクリプトで計算してみました。

HPの開設は1997年7月27日でした。まずは開設時から現在までの日数が必要ですね。現在の日付は

current date

で簡単に求まります。開設時の日付についても

date "1997.7.27"

と入力して(環境によってちがうかも)コンパイルすれば

date "1997年 7月 27日 日曜日 0:00:00 AM"

となります。簡単ですね。あとは現在の日付から開設時の日付を引いてやれば良い訳です。

(current date) - (date "1997年 7月 27日 日曜日 0:00:00 AM")

実行してみると,2億3000万以上の数字になりました。これは秒数で返ってきているので,60(秒)×60(分)×24(時間)=86400で割ってやれば日数が出ます。

((current date) - (date "1997年 7月 27日 日曜日 0:00:00 AM")) / 86400

すると2755日という結果になりました。15万を2755で割って完了。

あの日は何曜日だったっけ? というようなとき(そんなときがあるかは疑問ですが)にも便利に使えます。たとえば2004年1月1日の曜日を知りたければ,上の例と同じように

date "2004.1.1"

と入力してコンパイルすれば曜日が分かります。


Image Eventsについて(2003/11/12)

Mac OS X 10.3に付属するApplescriptでは,サイズをかえたり,反転したりといったように,画像を操作することができるようになっています。また解像度などのデータを得ることもできるようになっています。

Applescriptのバージョンは1.9.2になっています。よく言われているように,GUIを操作できるとか,画像をいろりろといじれるようになったとか,その辺が大きなところですね。

普段はあまりリリースノートなどはみないんですが,先日ふと見てみたら,細かいところでもいろいろと変更されているみたい。その中で目についたのはまず,display dialog で255文字以上を表示できるようになったこと。試してみたら本当にできました。

もう一つは,month の値を簡単に数字に変換できるようになったことです。これは必要なときにはとても便利そう。というか,これまで何故できなかった?

get month of (current date)

とすると,「November」という結果が得られます。これを「11」にしようと思うと,これまでは

if result is November then
	set a to 11
end if 

のようにしなければならず,12か月分やろうと思うと結構面倒だったんですね。これが

get (month of (current date)) as number

とすると,ちゃんと「11」という数字が得られるようになっていました。


10.3で変わったこと(2003/11/11)

Mac OS X 10.3に付属するApplescriptのバージョンは1.9.2になっています。よく言われているように,GUIを操作できるとか,画像をいろりろといじれるようになったとか,その辺が大きなところですね。

普段はあまりリリースノートなどはみないんですが,先日ふと見てみたら,細かいところでもいろいろと変更されているみたい。その中で目についたのはまず,display dialog で255文字以上を表示できるようになったこと。試してみたら本当にできました。

もう一つは,month の値を簡単に数字に変換できるようになったことです。これは必要なときにはとても便利そう。というか,これまで何故できなかった?

get month of (current date)

とすると,「November」という結果が得られます。これを「11」にしようと思うと,これまでは

if result is November then
	set a to 11
end if 

のようにしなければならず,12か月分やろうと思うと結構面倒だったんですね。これが

get (month of (current date)) as number

とすると,ちゃんと「11」という数字が得られるようになっていました。


戻る