Hatena::ブログ(Diary)

koeだめ - http://bash0C7.hatenablog.com/ に移行しました RSSフィード

2008/08/26

[]オフィスではじめるRuby世界

要旨

すでに別言語プログラマ*1Rubyに手を出す場合、また仕事場でRubyを公然と使う場合には、ExcelやERBの利用からRubyに触れるのが良いよ、という話です。

提示資料と発表の様子

D

ERB

Rubyの標準ライブラリに添付されているテンプレートエンジンであり、RailsではViewに使われています。「アプリケーションサーバのいらないJSP」であり、導入が簡単です。

呼び出し元のメインプログラムローカル変数をERBで利用でき、またRuby文法を使うため、Rubyを少し触れたらすぐ使えるようになり、学習時間が短くて済みます。

実際に使われている例としては、下記サイトを参照するとすごく分かりやすいです。

Win32OLE

Rubyの標準ライブラリに添付されているWindows環境RubyからWindowsCOMを叩くためのブリッジです。これを使って、RubyからExcelAPIを叩きます。

具体的な使い方は、下記サイトを参照してください。

書籍としては、『Rubyist Magazine出張Ruby on Windows 』が出てるので、是非読みたい(まだ買っていないので)

Excel(API)

日本で最高に使われる構造データの作成・編集を行うツール。リッチ構造データを、綺麗に整備された*2レベルAPIを叩くことで扱うことができます。でも*NIXの人やMacの人はExcelが嫌い(偏見

ビジネスシーンでも多く使われているので、担当者レベルで業務とITとを結ぶシンプルインターフェイスとなります。

プログラマサイドからはExcelさを消す

Win32OLE+Excelのままでは、Excelとの密結合となるため移植性や可搬性が下がる。また本質的ではないコードが増えてしまいます。

そこで、Excelファイルを読み取って、各行をハッシュで返す『XLSクラス』http://rubyforge.org/projects/xls/?を作りました。

Ruby+ERB+Excelの効果

手作業よりよっぽど早くテキストファイルを生成でき、コーディング時間がかからず、説明にも時間がかからなくて済みました。

Rubyにあんまり興味のないひともこの話にはくいついてきました。つまり、何かをインプットにしてテキストファイルを吐き出す事が必要な問題に対して、良いソリューションとして勧められる!

まとめ

  1. テキストファイル生成のような日常的な問題に、Ruby(+ERB)は役に立つ
  2. Excelと絡めることで、Rubyのような新技術の導入に関する感情的な障壁を減らすことができるので、Excel使いこなしテクの一環としてRubyを位置づける。
  3. そしてRuby便利ってことを広めて、お気に入りのRubyを利用できるフィールドを増やしていく!

*1:特に非LLの人

*2:1クラスにメソッドやプロパティ突っ込みすぎな感はあるものの

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/bash0C7/20080826/1219760961