1. 一般的な質問

1.1 Rubyとは何ですか

一言で言えば、

シンプルかつ強力なオブジェクト指向スクリプト言語

です。

perlのようにテキスト処理の分野に威力を発揮します。もちろんそれだけでは なく、Rubyで実用的なサーバーアプリケーションを作成するなどということも 可能です。

Rubyにはたくさんの言語のよい部分が取り込まれており、その結果どの言語とも 異なる言語になっています。

Rubyは以下のような特長を持っています。

1.2 名前の由来を教えてください

以下はまつもとさんの[ruby-talk:00394](June 11, 1999)での紹介の翻訳です。

まつもとさんは、自分の新しい言語の名前をPerlのように何か宝石の 名前からとろうとし、同僚の誕生石がRubyだったので、Rubyとした そうです。

その後、誕生石としては、pearl => 6月、ruby => 7月、活字の 大きさとしては、pearl => 5pt、ruby => 5.5ptなど、rubyが pearlの直後に来ている例があるのに気づき、Perlより新しく、できれば より良い言語の名前としてRubyが新しいスクリプト言語の名前として ふさわしいと思ったそうです。

まつもとさんは、RubyがPerlの代わりになる日を待っています(^^)。

1.3 Rubyの歴史を教えてください

まつもとさんの[ruby-talk:00382](June 4, 1999)での紹介の翻訳です。 Rubyの誕生日は[ruby-list:15997]により修正されました。

1.4 どこで手に入りますか

Rubyの最新版は<URL:ftp://ftp.ruby-lang.org/pub/ruby/>で手に入ります。

ミラーサイトは次のとおりです。

Cygwin版とMinGW版とDJGPP版はRuby Binariesにバイナリがあります。

なお、Windows(cygwin)では初心者向けにRuby Entry Packageが用意されています。 そのインストール方法については初心者のためのRubyインストールガイドを見てください。

1.5 Rubyのホームページを教えてください

Rubyの公式ページは <URL:http://www.ruby-lang.org/> です。

1.6 Rubyのメーリングリストはありますか

現在Rubyの話題を扱う公式のメーリングリストは六つあります。

詳しくはRubyメーリングリストをご覧ください。

1.7 メイリングリストの過去メールを調べたいのですが

メイリングリスト検索用のフォームが、 <URL:http://blade.nagaokaut.ac.jp/ruby/ruby-list/index.shtml><URL:http://ruby.freak.ne.jp/>にあります。

また、ML Topicsには、 過去メールの主な話題がピックアップされています。

1.8 rubyistとruby hackerの違いは

まつもとさんによると、rubyistとRuby hackerは次のような定義だそうです。

Rubyに対して単なるお客さん以上の気持を持っている人がrubyistです。たとえば

一方、Rubyに関して技術レベルの高さをあわらす人はRuby hackerと呼びましょう。 たとえば

などはRuby hackerでしょう。

これらは称号は自称されるもので別に私が公式認定をするようなものではあり ませんが、上の例でほとんど名指しされている人は、まつもとがこの人たちを {rubyist、Ruby hacker}として尊敬を込めて認めていることを表します。

1.9 "Ruby"と"ruby"はどっちが正しいのですか

Rubyの正式な表記は"Ruby"です。ただし、コマンド名は"ruby"ですし、 また並列して違和感がない限り、Rubyの代わりにrubyを使うことは 許容されます。

ただし、「RUBY」、「ルビー」、「るびー」は言語名としては許容されていません。

歴史的には"ruby"が正式名称だった時代があります。

1.10 Rubyの参考書を教えてください

『オブジェクト指向スクリプト言語Ruby』 まつもと ゆきひろ・石塚圭樹共著 アスキー(ISBN4-7561-3254-5)の他に何冊か刊行されています。 詳しくは「Rubyに関する書籍」をご覧ください。

正規表現に関しては、Jeffrey E. F. Friedl著「詳説正規表現」(ISBN4-900900-45-1)が オライリージャパンから出ています。様々な正規表現の実装に触れており、 Rubyの正規表現を理解するにも有用です。

1.11 マニュアルを読んでも理解できないところがあるのですが

Rubyは、基本的な構文はRuby1.0以来大きくは変わっていませんが、絶えず 拡張、修正が行われていますので、ドキュメントが最新バージョンに追い 付いていないところがあります*2。 また、ソースがドキュメントだという説もあります。

分からなくなったら、遠慮なくruby-listで 質問すると、作者のまつもとさんをはじめ、開発者の方々や私もはまったという 人たちに分かりやすく教えていただけます。

質問をするには、ruby -vの結果と、はまったスクリプト (長い場合は本質的なところを切り出して)を示せばよいでしょう。

irbを使っている場合は、irb固有の問題もありますので、 irb --single-irbで試してみるか、rubyで実行し直して 確認することをおすすめします。

MLを検索すれば、かなりの疑問が解決するとは思いますが、メールも 大量になってしまって、ありふれた検索では絞り込みにくくなっています。 最近のものくらいはチェックしておくのがネチケット(RFC1855の3.1.1、3.1.2参照) というものだとは 思いますが、言うは易く、行うは難しですし、新しい視点も生まれるかも しれません。思い切って質問してみましょう。

1.12 Ruby のキャラクターは羊?

羊、ハチドリ、うさぎ...*3

1.13 バグ報告はどこへ行えばよいでしょう?

もしバグに遭遇した場合にはRuby Bug Tracking Systemに報告してもらえれば、やがて何らかの応答があることでしょう。 また、(購読していれば) ruby-dev や ruby-core に報告することもできます。

その際は、rubyのバージョンやプラットフォーム、エラーメッセージ、 バグを再現できるスクリプトやデータなどもお願いします。

[BUG]というメッセージが表示されて *4 Rubyが強制終了された場合は、 環境にもよりますがcoreファイルが作成されているかも知れません。 もしデバッガが使えるようなら *5、 バックトレースなどもあるとベターです。


*1最近は、Mac版の開発は停止 しているようです。ただし、Mac OS Xでは動きます
*2ドキュメントも絶えず加筆、修正が行われています
*3カタツムリ(?)
*4例外的にSystemStackErrorが起きたときは何も表示されずに強制終了することがあります。
*5バイナリパッケージからインストールしている場合などはおそらく無理ですが



rubyist ML