kanrk05 .netでお仕事しているプログラマがスクリプト言語として使うruby

Post on 30-Jun-2015

342 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

関西RubyKaigi05のLTのスライドです。 .Net用のコードをRubyを使って自動生成するお話です

TRANSCRIPT

.Netでお仕事しているプログラマが

スクリプト言語として使うRuby

自己紹介

● 名前:岡田 真一 (OKADA SHINICHI)● Twitter:@shin_asou● お仕事 SIerのSE ● ERPソリューションパッケージの

開発等してます

こんにちは!皆さんお仕事で

Ruby書いてますか?

僕は.Net(C#、VB.NET)Verは1.1です。

とても辛いです(.Net1.1のひどさが)

.Net1.1とかいやなのでRuby使いたいです

でも現実は・・・

あらためてRubyとはなにか?

・ Railsを動かすためのプログラミング言語?

・ tDiaryを動かすためのプログラミング言語?

・ まとめるとWebアプリケーションを(以下略

間違ってはいませんが・・・

ruby-lang.orgによると

ソースコード生成にRubyを使えばいいんじゃね?

例:get;set;

C#1.1の場合

インスタンス変数の一覧からプロパティが自動で作成できれば

問題は解決する

ファイルを行単位で読み込んで

前後の空白等を削除

行を単語単位に分割してプロパティ用の文字列作成

結果をArrayに入れておいて結果出力用のファイルに書き込む

今回はプロパティを例にしましたが

定型的な処理なら応用が効くと思います

例:XML操作

業務アプリケーションにありがちなもの

といえば?

帳票

レイアウトファイルがXMLなのでこれを加工しようという話

当然GUIデザイナは用意されていますが

たまに辛い要件があるんですね例えば1ページ目と2ページ目でヘッダのレイアウトが違うとか

そういう時はVBScriptもどきがあるのでそれを使って

処理を切り分けるんですが・・・

Line1.Top = 1500Line1.Visible = False

みたいなコードがひたすら続いたりするんですね

そこでXMLから項目情報抜き出して操作コードを出力

11~13行目で条件を満たす項目を取得し、15~19行目でそれをすべて非表示にするコードを出力します。

まとめ

たとえ別の言語を使っていても部分的にRubyを使える

ケースはあるのでそういった部分でRubyを使ってみてはいかがでしょうか?

補足1

.Net1.1は辛いですが.Net3.0以降であればいろいろ改善され

ていいと思います。例えば今回のプロパティの

例も1行で書けるようになっています。

補足2

Twitterでも指摘された件ですが例では出力コード組み立てを文字列で

やりましたが実際にはERBとかを使ったほうがいいと思います。

自分が使わなかった理由は例のスクリプトを書いた時にERBを知らなかったので文字列で

組み立てる方法を採用しました。

補足2続き

基本使い捨てのスクリプトなので特に直す必要もなく今に至っています。

コード生成はしっかりメンテナンスする必要が無いので新しい知識を得る機会に乏しくなるという

のは課題の一つかなと思います。

top related