From: "藤本尚邦 / FUJIMOTO Hisakuni" Date: 1998-01-10T17:30:51+09:00 Subject: [ruby-dev:1272] Re: RE^4: ruby on Macint 藤本です、青山さんこんにちは。 From: 青山 和光 Subject: [ruby-dev:1271] RE^4: ruby on Macint Date: Sat, 10 Jan 98 09:30:07 +0900 > tell application "MacPerl" > set upcaseText to ( > Do Script " > ($upcase = $ENV{'TEXT'}) =~ tr/a-z/A-Z/; > &MacPerl'Reply($upcase); > " environment {"TEXT", sampleText} > ) as text > end tell > > ということで、基本イベントの他に、外部から(ファイルを経由せずに)スクリ > プトを直接引き渡す Do Script と、処理する値を直接引き渡す environment > と、処理した値を返す &MacPerl'Reply の3つが実現出来れば、それだけで一 > 気に実用になります。 このスタイルのやり方は、比較的手早く出来そうなので、用意することにな ると思います。 いまのところ、うちのマックの中にPerlは入ってないんですが、やっぱり参 考のために入れようかなぁ。Tcl/TkやPythonは参考のためソースごと入れてる んですが、どれもハードディクス大食らいなので悩みどころです (^^; 僕としては、ほんとうは、rubyの中にAEOM(AppleEvent Object Model)世界 を取り込んで、AppleScriptとかで書く種類のこともruby世界の中で書ければ なぁと思っています。例えば class AEOMOjbect class AEOMApplication < AEOMObject class AEOMDocument < AEOMOjbect class AEOMWindow < AEOMObject こんな感じのクラスを拡張モジュールで用意して web_browser = AEOMApplication.new("Netscape Navigator") web_browser.activate web_browser.openURL("http://www.netlab.co.jp/ruby/jp/") とか text_thanks = "rubyはとっても便利です、どうもありがとう" mailer = AEOMApplication.new("ClarisMailer") msg = mailer.new_message_to('matz@netlab.co.jp') msg.set(text_thanks) mailer.send(msg) なんて風に。こうすればアプリケーションの自動操作とテキストの処理などを 全部rubyの中でオブジェクト指向的にすっきり書けますよね。 まずはruby本体をちゃんと動作させるのが先決ですが、構想だけは大きく持っ てます (^^;。 ============================================================= 藤本尚邦 FUJIMOTO Hisakuni hisa@imasy.or.jp =============================================================