簡単なレポートくらいなら TextEdit で書けるなあ。 ……と思って書いてたら文字数が数えられないことに気付く。 なんかないのか?
あった。
http://blogs.dion.ne.jp/fujidana/archives/517367.html
なるほどね、AppleScript というのを使うと 動いているプロセスにちょっかいを出せるんだ。 Mac における COM みたいなもんか。
しかしこの AppleScript って コードの字面が実にかったるいな。 Ruby で書けるとよいのだが。 なんか書けそうだな。 RubyCocoa という単語をなんとなく思い出すんだが、 もしかしてこういうことに使えるのだろうか。
使えそうな気がするな。 NSApplication のあたりが怪しい。 これで TextEdit を操作できるんじゃないだろか。
とりあえずインストールしとこ。 1.9 (YARV前) で動くかなあ。
だめだった。追究するのもめんどいので (というかレポート書かなきゃいかんので) あきらめてバイナリを使う。
rb-appscript というのを一緒に使うと いろいろ楽に書けるようだ。こうか。
~ % cat textedit-wc.rb require 'appscript' p Appscript.app('TextEdit').documents[1].characters.get.size ~ % ruby-1.8.2 textedit-wc.rb 80
動いた〜。
ていうか 80 字しか書いてないのに AppleScript 書き始めるのってどうよ。
ん? もしかしてこれって文字数じゃなくてバイト数かな。 いやそんなことはなかった、文字の配列だった。 それはそれでなんか気になるが、とりあえずはこれでいいや。
(05:38)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.
AppleScriptの代わりとしては、rb-appscriptとかぶってますが、RubyOSAというものもあります。実際どう違うのかよく知らないのですが、rubyosaの方は、将来のMac OS Xにのっかっる可能性も高そうだし友人が作ってるし、ということで推しておきます。
RubyCocoaに関しては、SIMBLプラグインとしてアプリにへばりつくという方法で使えるようになりつつあります(開発中)。
RubyOSA - http://rubyosa.rubyforge.org/
SIMBL - http://www.culater.net/software/SIMBL/SIMBL.php
あ、そうか、RubyCocoa と rb-appscript は別ものなんですね。
このへんは何がなにやらわからないので、勉強してみます。