
|
次
-
目次
はじめに
Rubyは手軽なオブジェクト指向プログラミングのためのインタプリ
タ言語です.Rubyは(Perlのような)テキスト処理やシステム管理の
ための豊富な機能を持っています.また,Rubyは単純で,分かりや
すく,簡単に拡張できます.
もし,簡単なオブジェクト指向のための言語を求めていたり,Perl
は見にくいと感じていたり,Lispの考え方は好きだがあの括弧の多
さには困ると感じているなら,Rubyはまさにぴったりです.
Rubyの特長は次の通りです.
- インタプリタ
- Rubyはインタプリタ言語ですのでプログラムを実行するた
めにコンパイルする必要はありません.
- 変数に型が無い (動的型付け)
- Rubyの変数はどのような型のデータも格納する事ができま
すので,変数の型について心配する必要はありません.半
面,コンパイル時のチェックは弱くなります.
- 変数宣言が不要
- Rubyでは変数を宣言無しで使う事ができます.変数の種類
(ローカル変数,グローバル変数,インスタンス変数など)
は変数名から知る事ができます.
- 単純な文法
- Rubyの文法はEiffelからわずかに影響を受けた単純なもの
です.
- ユーザによるメモリ管理が不要
- Rubyはメモリ管理を自動的に行います.どこからもアクセ
スされなくなったオブジェクトはインタプリタに組込みの
ガーベージコレクタによって回収されます.
- 全てがオブジェクト
- Rubyははじめから純粋なオブジェクト指向言語として設計
されています.整数のような基本的なデータ型をはじめと
して,全てのデータをオブジェクトとして統一的に取り扱
えます.
- クラス,継承,メソッド
- Rubyはクラス,継承,メソッドのようなオブジェクト
指向言語として基本的な機能は当然持っています.
- 特異メソッド
- ある特定のオブジェクトにメソッドを付加することができ
ます.たとえば,GUIのあるボタンを押された時の動作をメ
ソッドとして記述するような使い方ができますし,これを
応用してプロトタイプベースのオブジェクトプログラミン
グも可能です(やりたければね).
- モジュールによるMix-in
- Rubyは多重継承は複雑さの源であるという見地から,意図
的に多重継承を持っていませんが,モジュールを使ってク
ラス階層を横断して実装を共有できます.この機能を
"Mix-in"と呼びます.
- イテレータ
- ループの抽象化を行うイテレータという機能があります.
- クロージャ
- 手続きをオブジェクトとして扱う機能があります.このオ
ブジェクト化された手続きのことをクロージャと呼びます.
- 強力な文字列操作/正規表現
- Perlをお手本とした強力な文字列操作や正規表現検索の機
能があります.
- 多倍長整数
- 組込みの多倍長整数機能がありますので,メモリが許す限
り,非常に大きな整数の演算もできます.たとえば,400の
階乗なども簡単に計算できます.
- 例外処理機能
- 例外処理機能は例外的な状況への対処が簡単に書けます.
- OSへの直接アクセス
- Rubyは(UNIXの)ほとんどのシステムコールの呼び出し機能
を持っています.Rubyだけでシステムプログラミングも可
能です.
- ダイナミックローディング
- OSが許せば,オブジェクトファイルを実行時に読み込む機
能が提供されます.
次
-
目次
matz@netlab.co.jp
|