RubyOSA – a Ruby/AppleEvent Bridge

AppleScript でできることが Ruby でも可能になるみたいです。

Ruby on Rails入門―優しいRailsの育て方

Ruby on Rails入門―優しいRailsの育て方

ライド・オン・Rails Ruby on Railsを徹底攻略

ライド・オン・Rails Ruby on Railsを徹底攻略

Mac OS X Leopard では Ruby on Rails が導入されるので、その予習も兼ねて上の2冊を購入してみました。’ライド・オン・Rails Ruby on Railsを徹底攻略‘ 本に Mac OS X へのインストールの仕方が説明されているので、だいたいその通りインストールしました。

Mac OS X 10.4 Tiger 上にインストールされている Ruby 1.8.2 でも問題ないらしいのですが、私の環境では問題が少し生じたので、ソースから readline と Ruby 1.8.4 をインストールしました。後は ‘ライド・オン・Rails Ruby on Railsを徹底攻略‘ 本 の内容に従ってインストールしました。

http://rorbook.moriq.com/ から ‘ライド・オン・Rails Ruby on Railsを徹底攻略‘ 本のサンプルソースをダウンロードし、試してみました。そこで ruby script/server を試すと下のようなエラーが起こります。

chapter-2-1 yoshiaki$ ruby script/server
=> Booting WEBrick...
dyld: NSLinkModule() error
dyld: Symbol not found: _rl_filename_completion_function
Referenced from: /usr/local/lib/ruby/1.8/powerpc-darwin8.7.0/readline.bundle
Expected in: flat namespace
Trace/BPT trap

そこで readline.bunndle を /usr/local/lib/ruby/site_ruby/1.8/powerpc-darwin8.7.0 にコピーするとうまく動作しました。

ruby-1.8.4 yoshiaki$ cd ext/readline
ruby-1.8.4/ext/readline yoshiaki$ ruby extconf.rb
ruby-1.8.4/ext/readline yoshiaki$ make
ruby-1.8.4/ext/readline yoshiaki$ sudo cp readline.bundle /usr/local/lib/ruby/site_ruby/1.8/powerpc-darwin8.7.0

原因がわかりませんが capter-2-1 に含まれている engines、login_engine を再インストールしないとうまく動作しません。また svn が必要なので fink を使って svn-client をインストールしました。

後、私は ‘ライド・オン・Rails Ruby on Railsを徹底攻略‘ 本の capter-2-1 までしか読んでいませんので、何か問題があるかもしれません。

ライド・オン・Rails Ruby on Railsを徹底攻略‘ 本には細かい説明がありませんが、Ruby on Rails を使ってどんなことができるか、実際に試しながら理解できると思います。’Ruby on Rails入門―優しいRailsの育て方‘ 本は本当に細かく説明されています。’ライド・オン・Rails Ruby on Railsを徹底攻略‘ 本を少し試した後に、’Ruby on Rails入門―優しいRailsの育て方‘ 本を読むと理解しやすいと思います。そうは言っても、まだ2冊とも読み終わってもいないし、私自身初心者レベルですが!

Ruby の標準ライブラリ nkf

文字化けしたメールで気になるものは nkf [ http://www.ie.u-ryukyu.ac.jp/~kono/nkf/ ] で読んでいたのですが、ruby の標準ライブラリ nkf を使った簡単なスクリプトを書いてみました。

スクリプトファイルの先頭を ‘#!/usr/bin/ruby‘ にし、実行属性を付け、Finder で ‘情報を見る’ を選択し、’このアプリケーションで開く :’ で ‘ターミナル’ に設定すると Finder 上で スクリプトファイルをダブルクリックするだけで起動することができます。結構、便利ですね。(知らない人はいないと思うけど)

nkf文字コード判別は強力だし、base64にも対応しているので、とても便利です。これを Cocoa でも使えると良いのですが!

ruby で採用されている正規表現 Oniguruma を移植したものが OgreKit [ http://www8.ocn.ne.jp/~sonoisa/OgreKit/ ] なので、フレームワークとして移植できそうな気がします。

nkf のソースを見たのですが、ちょっと私には無理そうです。どのオプションでどの関数が呼ばれているのか判断できればできそうな気がします。私自身、技術力がないので、的外れなことを言っている可能性があります。

それにしても以前は ruby について馴染めなかったのですが、 入門Haskell―はじめて学ぶ関数型言語 本を読んだ影響でしょうか! 簡単なプログラムを作成できるようになりました。本当のところ何が影響しているのかわかりませんが!