Introduction to Ruby for Mac OS X
MacOSXでRubyお奨めするチュートリアルを読んでみました。
http://www.io.com/~jimm/writing/Intro_to_Ruby.html
翻訳ページの力を借りて。http://translate.google.com/translate_t
最後のチュートリアルは AppleScript との連携でした。標準外のRubyのライブラリーが必要とありまして
http://www.fobj.com/rubyaeosa/INDEX.ja.html
↑ここをへてrubyosa-0.1へ。
http://rubyosa.rubyforge.org/
rubyaeosa の後継はrubyosa というらしい (いまはAppleの人が作っているのかな!?) 早速、rubyosa-0.1のインストール。
いきなりサンプルにある TextEdit_hello_world.rb を実行!してみるとあえなくエラー。
インストールしたばかりの /usr/local/lib/ruby/site_ruby/1.8/rbosa.rb
の31 行目をみてみると
>begin require 'rubygems' rescue LoadError end
このマシンには rubygems をまだインストールしていなかったんでした。なので、サンプルが動きませんでした。
rubygems をインストールしてない人は論外と...逆に言うとソースからインストールした場合でも rubygems がありさえすればサンプル動かしてあげる、と。
ひょとして!新しいOSXには gems が標準で入っているということ?勝手なことを考えます。
ここで素直に gems をインストールすべきなんでしょうがこの行だけをコメントアウトするという選択もあるので...ちょっと#を付け足したてみたら サンプルにある TextEdit_hello_world.rb は無事動き、TextEditorが起動して新しいファイルを作り一行目に hellow word を書き出してくれました。
試しに日本語をいれてみたら(utf-8 でエンコーディングしたファイル)TextEditorは起動したものの文字は空白でだめでした。が sjis化 すれば大丈夫でした。
日本語 utf-8 を投げるのは無理みたいです。なんか方法あるのかしら。
str = 'はろー'
OSA.app('TextEdit').make(OSA::TextEdit::Document).text = str.tosjis
iTunesのサンプルは、ずらずらっと曲名と名前を列挙してくれるサンプルなんかが入っていて、iTunesに話しかける言葉をいろいろ用意してるから rdoc でドキュメント作るスクリプトを動かしてドキュメント作って読んでね!ということでした。なぜかこのスクリプトを動かすとエラーで途中で止まってしまったですが、/tmp/iTumes.rb というファイルができました。それをもとにドキュメントを作れました。
で、safari さわってみました。
safari = OSA.app('Safari')
p safari.properties
p safari.version
safari.make(OSA::Safari::Document).url = 'http://google.com'
=> {'pnam'=>'Safari', 'pisf'=>false, 'pcls'=>#<OSA::Safari::Application:0x529248>, 'vers'=>'2.0.4'}
'2.0.4'
わーぃ。tell application 'Safari' get properties end tell っていう気持ちがそのまま通じたのでちょっとうれしかった。ただ、だんだん頭が混乱してゆくかもー。
str = 'hoge' としたくて set str to 'hoge' としたりして、どうしてエラーなの?と悩んでいそうな...
--imported_from
http://www.midore.net/daybook/2006/11/1162346274.html
+++ 追記 +++
2010-02-06
関連する記事
"RubyOSA"ラベルがついた全ての記事
0 件のコメント:
コメントを投稿