Ruby FAQ
- 一般的な質問
- 変数、定数、引数
- ブロック付きメソッド呼び出し(イテレータ)
- 構文
- メソッド
- クラス、モジュール
- 組み込みライブラリ
- 拡張ライブラリ
- ドキュメントされていない機能
- 日本語の取り扱い
- Rubyの処理系について
一般的な質問
- 1.1 Rubyとは何ですか
- 1.2 名前の由来を教えてください
- 1.3 Rubyの歴史を教えてください
- 1.4 どこで手に入りますか
- 1.5 Rubyのホームページを教えてください
- 1.6 Rubyのメーリングリストはありますか
- 1.7 メイリングリストの過去メールを調べたいのですが
- 1.8 rubyistとruby hackerの違いは
- 1.9 "Ruby"と"ruby"はどっちが正しいのですか
- 1.10 Rubyの参考書を教えてください
- 1.11 マニュアルを読んでも理解できないところがあるのですが
- 1.12 Ruby のキャラクターは羊?
- 1.13 バグ報告はどこへ行えばよいでしょう?
変数、定数、引数
- 2.1 変数や定数への代入によりオブジェクトはコピーされますか
- 2.2 ローカル変数のスコープはどのように決められていますか
- 2.3 ローカル変数はいつ参照可能になるのでしょうか
- 2.4 定数のスコープはどのように決められていますか
- 2.5 実引数は仮引数にどのように渡されますか
- 2.6 仮引数に代入すると実引数に影響を及ぼしますか
- 2.7 仮引数の指すオブジェクトにメッセージを送るとどうなりますか
-
2.8
*がついた引数は何ですか -
2.9
&がついた引数は何ですか - 2.10 仮引数にデフォルト値を指定できますか
- 2.11 ブロックに引数を渡すにはどうしますか
- 2.12 変数や定数の値が知らないうちに変化することがありますが
- 2.13 定数は変更されませんか
ブロック付きメソッド呼び出し
- 3.1 ブロック付きメソッド呼び出しとは何ですか
- 3.2 ブロック付きメソッド呼び出しにブロックを渡すにはどうすればいいですか
- 3.3 ブロックは呼び出したメソッドの中からどのように使われますか
-
3.4
Proc.newでは手続きオブジェクトが作られませんが
構文
-
4.1
:exit等の:のついた識別子は何ですか - 4.2 シンボルと同名の変数の値を取り出すにはどうすればいいですか
-
4.3
loopは制御構造ですか -
4.4
a +bがエラーになりますが -
4.5
s = "x"; puts s *10がエラーになりますが -
4.6
p {}で何も表示されません - 4.7 pos=() という setter メソッドがあるのに、pos = 1 としてもなにも起こっていないように見える
-
4.8
'\1'と'\\1'はどう違いますか -
4.9
p true or true and falseはtrueを表示するのに、a=true if true or true and falseでは、aにtrueが代入されません。 -
4.10
p(nil || "")はなんでもないのに、p(nil or "")はパースエラーだと言われます
メソッド
- 5.1 オブジェクトにメッセージを送った時に実行されるメソッドはどのように捜されますか
-
5.2
+や-は演算子ですか - 5.3 関数はありますか
- 5.4 オブジェクトのインスタンス変数を外から参照できますか
-
5.5
privateとprotectedの違いが分かりません - 5.6 インスタンス変数をpublicにしたいのですが
- 5.7 メソッドの可視性を指定したいのですが
- 5.8 メソッド名に大文字で始まる識別子は使えますか
-
5.9
superがArgumentErrorになりますが - 5.10 2段階上の同名のメソッドを呼びたいのですが
- 5.11 組み込み関数を再定義した時に、元の関数を呼びたい時はどうしますか
- 5.12 破壊的メソッドとは何ですか
- 5.13 副作用が起こるのはどんな時ですか
- 5.14 メソッドから複数の戻り値を返すことはできますか
- 5.15 今実行中のメソッドの名前を知りたいのですが
クラス、モジュール
- 6.1 クラス定義は、一度に行わなければなりませんか
- 6.2 クラス変数はありますか
- 6.3 クラスのインスタンス変数とは何ですか
- 6.4 特異メソッドとは何ですか
- 6.5 クラスメソッドはありますか
- 6.6 特異クラスとは何ですか
- 6.7 モジュール関数とは何ですか
- 6.8 クラスとモジュールの違いは何ですか
- 6.9 モジュールはサブクラスを作りますか
- 6.10 クラス定義の中でクラスメソッドを定義するのと、トップレベルでクラスメソッドを定義する違いは何ですか
-
6.11
loadとrequireはどう違いますか -
6.12
includeとextendはどう違いますか -
6.13
selfというのは何ですか -
6.14
MatchDataのbegin、endは何を返しますか - 6.15 クラス名からクラスを得ることはできますか
組み込みライブラリ
文字列
-
7.14 条件に文字列を使ったとき、文字列が空("")の時にも
trueになります - 7.15 英語文字列の配列を辞書順にソートしたいのですが
-
7.16
"abcd"[0]は、何を返しますか - 7.17 タブをスペースに展開したいのですが
- 7.18 バックスラッシュをエスケープするにはどうしますか
-
7.19
subとsub!はどう違うのですか - 7.20 \Zのマッチする場所はどこですか
範囲・配列・ハッシュ
-
7.21 範囲オブジェクトのコンストラクタ
..と...はどう違いますか - 7.28 配列からハッシュへの変換はどうすればできますか
- 7.29 文字列からArrayを作るのは %w[...] でできますが、同じように文字列からHashを作るにはどうすればよいですか
ファイルと入出力
- 7.6 ファイルを読み込んで書き換えても変化しません
- 7.7 同じ名前のファイルに書き戻したいのですが
- 7.8 ファイルに書き込んでそのファイルをコピーしましたが、全部コピーされません
-
7.9 パイプで
lessに文字列を渡したのですが、表示されません -
7.10 参照されない
Fileオブジェクトはどうなりますか -
7.11 ファイルを
closeしないのは気持ちが悪いのですが - 7.12 ファイルを時間の新しい順にソートしたいのですが
- 7.13 ファイル中の単語の出現頻度を調べたいのですが
- 7.27 ファイルの行数を数えたいのですが
- 7.32 putsなどの標準出力が思った通りのタイミングで反映されません
例外
ランダム
その他
-
7.4
Fixnum、Symbol、true、nil、falseが即値だということですが、参照との違いは何ですか -
7.5
nilとfalseはどう違いますか - 7.22 関数ポインタはありますか
- 7.23 スレッドとプロセスのフォークはどう使い分けるのですか
- 7.24 Marshalの使い方を教えてください
-
7.26
trapはどのように使いますか - 7.31 succがあってprevがないのはなぜですか
拡張ライブラリ
- 8.1 Rubyを対話型で使いたいのですが
- 8.2 デバッガはありますか
- 8.3 C言語で書かれたライブラリをRubyで使いたいのですが
- 8.4 Tcl/Tkのインターフェースはありますか
- 8.5 Tkが動かないのですが
- 8.6 gtk+、xformsのインターフェースはありますか
- 8.7 日付の計算をしたいのですが
日本語の取り扱い
- 10.1 漢字を含んだスクリプトが文字化けを出力したり、正しく実行できない場合があります
-
10.2 オプション
-Kと$KCODEの違いはなんですか? - 10.3 日本語の識別子は使えますか
- 10.4 日本語を含む文字列から1文字ずつ文字列を取り出すにはどうしますか
- 10.5 tr("あ","a")がうまく動きません
- 10.6 ひらがなをソートするにはどうしますか
- 10.7 SJISの機種依存コード84BF から 889Fまでを空白に置き換えたいのですが
- 10.8 いわゆる全角文字と半角文字の変換を行うにはどうするのがよいですか?
- 10.9 いわゆる半角カナの扱い
- 10.10 日本語を含む文字列から n バイトを切り出したいのですが
- 10.11 日本語テキストを n 桁で折り返したいのですが

