疑問解決(Ruby)

2009/7/28

Rubyを使ってみました!  

・Rubyの概要

Rubyは、PerlやPHPなどスクリプト言語の一種です。
御幣があるかもしれませんが、一言でいうと「オブジェクト指向なPerl」です。

また、Ruby用のアプリケーションフレームワーク Ruby on Rails(RoR) が有名です。
RoRを利用すると、開発効率がJavaの数倍あるとの事です。
(開発対象にもよると思いますが・・・)

あと、Rubyは日本人である「まつもとゆきひろ氏」が作ったため、
比較的日本語環境が整備されています。

・ダウンロード

今回は、Windows環境下での使用を目的としているため、
ソースからコンパイルするわけではなく、バイナリを利用する事にします。
ただし、Windowsのバイナリファイルも複数有るため注意が必要です。

バイナリファイル 備考
mswin32 VisualC++でコンパイルした物。
もっとも安定している。
ただし、Unix特有の機能は使用できません。
Mingw32 gccでコンパイルした物。
こちらもUnix特有の機能は使用できません。
Cygwin Cygwin版のため、ygwinが必要になります。
そのかわり、Unix機能のほとんどが使用できます。
ActiveScriptRuby mswin32を改良
COMサーバとして利用可能
bccwin32 BorlandC++でコンパイルした物

 

・引数
Rubyは他の言語同様、引数を取る事が出来ます。
その場合、引数は ARGV という名前の配列に「文字列」として入ります。
・ライブラリ
ライブラリを追加することにより、
クラスやメソッドなどの拡張を行うことができます。
下は主なライブラリの一覧です。
テキスト
erb embedded Rubyのサポート
rexml/document XMLのサポート
日付・時間
date 日付関数のサポート
開発ツール
pp Pretty-printerのサポート
ネットワーク
OpenUri open関数の URI サポート拡張
 open関数でhttpやftpが扱えます。
cgi cgiでのサポート拡張
・Ruby DBI(DataBase Independent)

Ruby DBIは、PostgreSQL,MySQL等データベース固有のインターフェースを、
共通のインターフェースにするものです。
そのため、DBIを使う事によって
どのようなデータベースを使用しようとも共通のメソッドをコールすればよくなります。
なお、DBIに対応しているデータベースは下記の通りです。
 ・PostgreSQL
 ・MySQL
 ・SQLite
 ・ADO(ActiveX Data Objects)
 ・ODBC
 ・IBM DB2
 ・Oracle
 ・FrontBase
 ・InterBase
 ・mSQL
 ・SQLRelay

・Ruby Compiler

Rubyスクリプトを実行形式のファイルにする事によって、
Ruby本体無しで動作可能となります。

ソフト名 対応OS
Exerb Windows
RubyScript2Exe Windows,Linux
・Exerb

Exeファイルにすることに様々な利点がありますが、
下記のような欠点もありますので注意してください。
 ・全てのスクリプトが動作するわけではない。
 ・実行ファイルサイズが大きくなる。(最低でも500KB以上)

コンパイルの仕方は下記の通りです。

 
exerb [オプション] {スクリプトファイル|レシピファイル}

Exerb Ver4.0.0 以降から、レシピファイル無しでもコンパイル可能です。

配布ライセンスに関しては、少々複雑です。
Rubyとexerbを使用するため、両方のライセンスを守る必要があります。
ソフト名 ライセンス
Ruby Rubys
Exerb LGPL
・eRuby(embedded Ruby)
 つまり概要でも述べていますが、「perl」に非常に近いです。
 WEBで利用する場合、
 JSPやPHPおよびASPの様に、HTMLにスクリプトを埋め込むのではなく、
 スクリプトの中で”print”文等を使ってHTMLを吐き出す必要があります。
 WEBで利用するには、それはかなり面倒なことです。

 そこで、JSP同様、HTMLにrubyスクリプトを埋め込めるようにしたものが”eRuby”です。
 拡張子は、”rhtml”となります。
・フレームワーク(Ruby On Rails)

Ruby専用のフレームワークです。
Struts等のフレームワークは、
開発者に自由度を持たせるために設定ファイル等で煩雑な設定をする必要があります。
RubyOnRailsは、設定による自由度を犠牲にする事によって、
煩雑な設定無しに開発できるようにしています。
RubyOnRailsについては、別ページに記述していますので
そちらも参考にしてください。

RubyOnRailsのページ

・ファイル書込み
 Fileクラスを使うと簡単にできます。
 メソッドは、print または put 辺りを使います。
 
foo = File.open("foo.txt",'w')
foo.puts 'bar'
foo.close
 
・覚書
 
さらに情報が欲しい方は、Google検索で  
Google
・TOPへ戻る

メールはこちらに