summaryrefslogtreecommitdiff
path: root/README.EXT.jp
diff options
context:
space:
mode:
Diffstat (limited to 'README.EXT.jp')
-rw-r--r--README.EXT.jp210
1 files changed, 105 insertions, 105 deletions
diff --git a/README.EXT.jp b/README.EXT.jp
index 2ad397dde39..2929f1b2d12 100644
--- a/README.EXT.jp
+++ b/README.EXT.jp
@@ -1,18 +1,18 @@
.\" README.EXT - -*- Text -*- created at: Mon Aug 7 16:45:54 JST 1995
-rubyの拡張モジュールの作り方を説明します.
+Rubyの拡張モジュールの作り方を説明します.
1.基礎知識
Cの変数には型があり,データには型がありません.ですから,た
とえばポインタをintの変数に代入すると,その値は整数として取
-り扱われます.逆にrubyの変数には型がなく,データに型がありま
-す.この違いのため,Cとrubyは相互に変換しなければ,お互いの
+り扱われます.逆にRubyの変数には型がなく,データに型がありま
+す.この違いのため,CとRubyは相互に変換しなければ,お互いの
データをアクセスできません.
-rubyのデータはVALUEというCの型で表現されます.VALUE型のデー
+RubyのデータはVALUEというCの型で表現されます.VALUE型のデー
タはそのデータタイプを自分で知っています.このデータタイプと
-いうのはデータ(オブジェクト)の実際の構造を意味していて,ruby
+いうのはデータ(オブジェクト)の実際の構造を意味していて,Ruby
のクラスとはまた違ったものです.
VALUEからCにとって意味のあるデータを取り出すためには
@@ -25,7 +25,7 @@ VALUEからCにとって意味のあるデータを取り出すためには
1.1 データタイプ
-rubyにはユーザが使う可能性のある以下のタイプがあります.
+Rubyにはユーザが使う可能性のある以下のタイプがあります.
T_NIL nil
T_OBJECT 通常のオブジェクト
@@ -37,7 +37,7 @@ rubyにはユーザが使う可能性のある以下のタイプがあります.
T_ARRAY 配列
T_FIXNUM Fixnum(31bit長整数)
T_HASH 連想配列
- T_STRUCT (rubyの)構造体
+ T_STRUCT (Rubyの)構造体
T_BIGNUM 多倍長整数
T_FILE 入出力
T_TRUE 真
@@ -99,7 +99,7 @@ FIXNUMとNILに関してはより高速な判別マクロが用意されています.
データタイプがT_FIXNUMの時,これは31bitのサイズを持つ整数で
す.FIXNUMをCの整数に変換するためにはマクロ「FIX2INT()」を使
-います.それから,FIXNUMに限らずrubyのデータを整数に変換する
+います.それから,FIXNUMに限らずRubyのデータを整数に変換する
「NUM2INT()」というマクロがあります.このマクロはデータタイ
プのチェック無しで使えます(整数に変換できない場合には例外が
発生する).
@@ -123,7 +123,7 @@ ruby.hでは構造体へキャストするマクロも「RXXXXX()」(全部大文
とします.配列の場合には,それぞれ「RARRAY(str)->len」,
「RARRAY(str)->ptr」となります.
-rubyの構造体を直接アクセスする時に気をつけなければならないこ
+Rubyの構造体を直接アクセスする時に気をつけなければならないこ
とは,配列や文字列の構造体の中身は参照するだけで,直接変更し
ないことです.直接変更した場合,オブジェクトの内容の整合性が
とれなくなって,思わぬバグの原因になります.
@@ -144,10 +144,10 @@ VALUEの実際の構造は
うかわかるわけです(ポインタのLSBが立っていないことを仮定して
いる).
-ですから,FIXNUM以外のrubyのオブジェクトの構造体は単にVALUE
+ですから,FIXNUM以外のRubyのオブジェクトの構造体は単にVALUE
にキャストするだけでVALUEに変換出来ます.ただし,任意の構造
体がVALUEにキャスト出来るわけではありません.キャストするの
-はrubyの知っている構造体(ruby.hで定義されているstruct RXxxx
+はRubyの知っている構造体(ruby.hで定義されているstruct RXxxx
のもの)だけです.
FIXNUMに関しては変換マクロを経由する必要があります.Cの整数
@@ -160,11 +160,11 @@ FIXNUMに関しては変換マクロを経由する必要があります.Cの整数
INT2NUM()は整数がFIXNUMの範囲に収まらない場合,Bignumに変換
してくれます(が,少し遅い).
-1.5 rubyのデータを操作する
+1.5 Rubyのデータを操作する
-先程も述べた通り,rubyの構造体をアクセスする時に内容の更新を
-行うことは勧められません.で,rubyのデータを操作する時には
-rubyが用意している関数を用いてください.
+先程も述べた通り,Rubyの構造体をアクセスする時に内容の更新を
+行うことは勧められません.で,Rubyのデータを操作する時には
+Rubyが用意している関数を用いてください.
ここではもっとも使われるであろう文字列と配列の生成/操作を行
い関数をあげます(全部ではないです).
@@ -173,16 +173,16 @@ rubyが用意している関数を用いてください.
str_new(char *ptr, int len)
- 新しいrubyの文字列を生成する.
+ 新しいRubyの文字列を生成する.
str_new2(char *ptr)
- Cの文字列からrubyの文字列を生成する.この関数の機能は
+ Cの文字列からRubyの文字列を生成する.この関数の機能は
str_new(ptr, strlen(ptr))と同等である.
str_cat(VALUE str, char *ptr, int len)
- rubyの文字列strにlenバイトの文字列ptrを追加する.
+ Rubyの文字列strにlenバイトの文字列ptrを追加する.
配列に対する関数
@@ -212,17 +212,17 @@ rubyが用意している関数を用いてください.
Arrayの同名のメソッドと同じ働きをする関数.第1引数は必ず
配列でなければならない.
-2.rubyの機能を使う
+2.Rubyの機能を使う
-原理的にrubyで書けることはCでも書けます.rubyそのものがCで記
+原理的にRubyで書けることはCでも書けます.RubyそのものがCで記
述されているんですから,当然といえば当然なんですけど.ここで
-はrubyの拡張に使うことが多いだろうと予測される機能を中心に紹
+はRubyの拡張に使うことが多いだろうと予測される機能を中心に紹
介します.
-2.1 rubyに機能を追加する
+2.1 Rubyに機能を追加する
-rubyで提供されている関数を使えばrubyインタプリタに新しい機能
-を追加することができます.rubyでは以下の機能を追加する関数が
+Rubyで提供されている関数を使えばRubyインタプリタに新しい機能
+を追加することができます.Rubyでは以下の機能を追加する関数が
提供されています.
* クラス,モジュール
@@ -260,7 +260,7 @@ rubyで提供されている関数を使えばrubyインタプリタに新しい機能
念のため説明すると「特異メソッド」とは,その特定のオブジェク
-トに対してだけ有効なメソッドです.rubyではよくSmalltalkにお
+トに対してだけ有効なメソッドです.RubyではよくSmalltalkにお
けるクラスメソッドとして,クラスに対する特異メソッドが使われ
ます.
@@ -272,7 +272,7 @@ rubyで提供されている関数を使えばrubyインタプリタに新しい機能
argcが負の時は引数の数ではなく,形式を指定したことになります.
argcが-1の時は引数を配列に入れて渡されます.argcが-2の時は引
-数はrubyの配列として渡されます.
+数はRubyの配列として渡されます.
メソッドを定義する関数はもう二つあります.ひとつはprivateメ
ソッドを定義する関数で,引数はrb_define_method()と同じです.
@@ -318,21 +318,21 @@ privateメソッドとは関数形式でしか呼び出すことの出来ないメソッ
前者は特定のクラス/モジュールに属する定数を定義するもの,後
者はグローバルな定数を定義するものです.
-2.2 rubyの機能をCから呼び出す
+2.2 Rubyの機能をCから呼び出す
-既に『1.5 rubyのデータを操作する』で一部紹介したような関数を
-使えば,rubyの機能を実現している関数を直接呼び出すことが出来
+既に『1.5 Rubyのデータを操作する』で一部紹介したような関数を
+使えば,Rubyの機能を実現している関数を直接呼び出すことが出来
ます.
# このような関数の一覧表はいまのところありません.ソースを見
# るしかないですね.
-それ以外にもrubyの機能を呼び出す方法はいくつかあります.
+それ以外にもRubyの機能を呼び出す方法はいくつかあります.
-2.2.1 rubyのプログラムをevalする
+2.2.1 Rubyのプログラムをevalする
-Cからrubyの機能を呼び出すもっとも簡単な方法として,文字列で
-与えられたrubyのプログラムを評価する関数があります.
+CからRubyの機能を呼び出すもっとも簡単な方法として,文字列で
+与えられたRubyのプログラムを評価する関数があります.
VALUE rb_eval_string(char *str)
@@ -341,11 +341,11 @@ Cからrubyの機能を呼び出すもっとも簡単な方法として,文字列で
2.2.2 IDまたはシンボル
-Cから文字列を経由せずにrubyのメソッドを呼び出すこともできま
-す.その前に,rubyインタプリタ内でメソッドや変数名を指定する
+Cから文字列を経由せずにRubyのメソッドを呼び出すこともできま
+す.その前に,Rubyインタプリタ内でメソッドや変数名を指定する
時に使われているIDについて説明しておきましょう.
-IDとは変数名,メソッド名を表す整数です.rubyの中では
+IDとは変数名,メソッド名を表す整数です.Rubyの中では
:識別子
@@ -354,14 +354,14 @@ IDとは変数名,メソッド名を表す整数です.rubyの中では
rb_intern(char *name)
を使います.また一文字の演算子はその文字コードがそのままシン
-ボルになっています.rubyから引数として与えられたシンボル(ま
+ボルになっています.Rubyから引数として与えられたシンボル(ま
たは文字列)をIDに変換するには以下の関数を使います.
rb_to_id(VALUE symbol)
-2.2.3 Cからrubyのメソッドを呼び出す
+2.2.3 CからRubyのメソッドを呼び出す
-Cから文字列を経由せずにrubyのメソッドを呼び出すためには以下
+Cから文字列を経由せずにRubyのメソッドを呼び出すためには以下
の関数を使います.
VALUE rb_funcall(VALUE recv, ID mid, int argc, ...)
@@ -372,7 +372,7 @@ Cから文字列を経由せずにrubyのメソッドを呼び出すためには以下
VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)
VALUE rb_apply(VALUE recv, ID mid, VALUE args)
-applyには引数としてrubyの配列を与えます.
+applyには引数としてRubyの配列を与えます.
2.2.4 変数/定数を参照/更新する
@@ -395,13 +395,13 @@ idはrb_intern()で得られるものを使ってください.
クラス定数を新しく定義するためには『2.1.3 定数定義』で紹介さ
れている関数を使ってください.
-3.rubyとCとの情報共有
+3.RubyとCとの情報共有
-C言語とrubyの間で情報を共有する方法について解説します.
+C言語とRubyの間で情報を共有する方法について解説します.
-3.1 Cから参照できるrubyの定数
+3.1 Cから参照できるRubyの定数
-以下のrubyの定数はCのレベルから参照できる.
+以下のRubyの定数はCのレベルから参照できる.
TRUE
FALSE
@@ -412,19 +412,19 @@ C言語とrubyの間で情報を共有する方法について解説します.
C言語から見た「nil」.
-3.2 Cとrubyで共有される大域変数
+3.2 CとRubyで共有される大域変数
-Cとrubyで大域変数を使って情報を共有できます.共有できる大域
+CとRubyで大域変数を使って情報を共有できます.共有できる大域
変数にはいくつかの種類があります.そのなかでもっとも良く使わ
れると思われるのはrb_define_variable()です.
void rb_define_variable(char *name, VALUE *var)
-この関数はrubyとCとで共有する大域変数を定義します.変数名が
+この関数はRubyとCとで共有する大域変数を定義します.変数名が
`$'で始まらない時には自動的に追加されます.この変数の値を変
-更すると自動的にrubyの対応する変数の値も変わります.
+更すると自動的にRubyの対応する変数の値も変わります.
-またruby側からは更新できない変数もあります.このread onlyの
+またRuby側からは更新できない変数もあります.このread onlyの
変数は以下の関数で定義します.
void rb_define_readonly_variable(char *name, VALUE *var)
@@ -443,13 +443,13 @@ setterに0を指定します.
# getterもsetterも0ならばrb_define_variable()と同じになる.
-それから,Cの関数によって実現されるrubyの大域変数を定義する
+それから,Cの関数によって実現されるRubyの大域変数を定義する
関数があります.
void rb_define_virtual_variable(char *name,
VALUE (*getter)(), VALUE (*setter)())
-この関数によって定義されたrubyの大域変数が参照された時には
+この関数によって定義されたRubyの大域変数が参照された時には
getterが,変数に値がセットされた時にはsetterが呼ばれます.
getterとsetterの仕様は以下の通りです.
@@ -457,14 +457,14 @@ getterとsetterの仕様は以下の通りです.
(*getter)(ID id, void *data, struct global_entry* entry);
(*setter)(VALUE val, ID id, void *data, struct global_entry* entry);
-3.3 Cのデータをrubyオブジェクトにする
+3.3 CのデータをRubyオブジェクトにする
-Cの世界で定義されたデータ(構造体)をrubyのオブジェクトとして
+Cの世界で定義されたデータ(構造体)をRubyのオブジェクトとして
取り扱いたい場合がありえます.このような場合には,Dataという
-rubyオブジェクトにCの構造体(へのポインタ)をくるむことでruby
+RubyオブジェクトにCの構造体(へのポインタ)をくるむことでRuby
オブジェクトとして取り扱えるようになります.
-Dataオブジェクトを生成して構造体をrubyオブジェクトにカプセル
+Dataオブジェクトを生成して構造体をRubyオブジェクトにカプセル
化するためには,以下のマクロを使います.
Data_Wrap_Struct(class,mark,free,ptr)
@@ -472,7 +472,7 @@ Dataオブジェクトを生成して構造体をrubyオブジェクトにカプセル
このマクロの戻り値は生成されたDataオブジェクトです.
classはこのDataオブジェクトのクラスです.ptrはカプセル化する
-Cの構造体へのポインタです.markはこの構造体がrubyのオブジェ
+Cの構造体へのポインタです.markはこの構造体がRubyのオブジェ
クトへの参照がある時に使う関数です.そのような参照を含まない
時には0を指定します.
@@ -505,16 +505,16 @@ Cの構造体へのポインタは変数svalに代入されます.
4.例題 - dbmパッケージを作る
ここまでの説明でとりあえず拡張モジュールは作れるはずです.
-rubyのextディレクトリにすでに含まれているdbmモジュールを例に
+Rubyのextディレクトリにすでに含まれているdbmモジュールを例に
して段階的に説明します.
(1) ディレクトリを作る
% mkdir ext/dbm
-ruby 1.1からは任意のディレクトリでダイナミックライブラリを作
-ることができるようになりました.rubyに静的にリンクする場合に
-はrubyを展開したディレクトリの下,extディレクトリの中に拡張
+Ruby 1.1からは任意のディレクトリでダイナミックライブラリを作
+ることができるようになりました.Rubyに静的にリンクする場合に
+はRubyを展開したディレクトリの下,extディレクトリの中に拡張
モジュール用のディレクトリを作る必要があります.名前は適当に
選んで構いません.
@@ -548,7 +548,7 @@ MANIFESTというファイルは,静的リンクのmakeの時にディレクトリ
ル生成時に中間的に生成される「モジュール名.o」というファイル
とが衝突するからです.
-rubyは拡張モジュールをロードする時に「Init_モジュール名」と
+Rubyは拡張モジュールをロードする時に「Init_モジュール名」と
いう関数を自動的に実行します.dbmモジュールの場合「Init_dbm」
です.この関数の中でクラス,モジュール,メソッド,定数などの
定義を行います.dbm.cから一部引用します.
@@ -576,7 +576,7 @@ Init_dbm()
--
DBMモジュールはdbmのデータと対応するオブジェクトになるはずで
-すから,Cの世界のdbmをrubyの世界に取り込む必要があります.
+すから,Cの世界のdbmをRubyの世界に取り込む必要があります.
dbm.cではData_Make_Structを以下のように使っています.
@@ -626,7 +626,7 @@ fdbm_delete(obj, keystr)
引数の数が固定のタイプは第1引数がself,第2引数以降がメソッド
の引数となります.
-引数の数が不定のものはCの配列で受けるものとrubyの配列で受け
+引数の数が不定のものはCの配列で受けるものとRubyの配列で受け
るものとがあります.dbmモジュールの中で,Cの配列で受けるもの
はDBMのクラスメソッドであるopen()です.これを実装している関
数fdbm_s_open()はこうなっています.
@@ -660,7 +660,7 @@ fdbm_s_open(argc, argv, class)
で,2つまで許されるという意味になります.省略されている時の
変数の値はnil(C言語のレベルではQnil)になります.
-rubyの配列で引数を受け取るものはindexesがあります.実装はこ
+Rubyの配列で引数を受け取るものはindexesがあります.実装はこ
うです.
--
@@ -673,14 +673,14 @@ fdbm_indexes(obj, args)
}
--
-第1引数はself,第2引数はrubyの配列です.ここではキャストを減
+第1引数はself,第2引数はRubyの配列です.ここではキャストを減
らすため struct RArray* で受けていますが,VALUEでも同じこと
です.
** 注意事項
-rubyと共有はしないがrubyのオブジェクトを格納する可能性のある
-Cの大域変数は以下の関数を使ってrubyインタプリタに変数の存在
+Rubyと共有はしないがRubyのオブジェクトを格納する可能性のある
+Cの大域変数は以下の関数を使ってRubyインタプリタに変数の存在
を教えてあげてください.でないとGCでトラブルを起こします.
void rb_global_variable(VALUE *var)
@@ -689,7 +689,7 @@ Cの大域変数は以下の関数を使ってrubyインタプリタに変数の存在
Makefileを作る場合の雛型になるextconf.rbというファイルを作り
ます.extconf.rbはモジュールのコンパイルに必要な条件のチェッ
-クなどを行うことが目的です.extconf.rbの中では以下のruby関数
+クなどを行うことが目的です.extconf.rbの中では以下のRuby関数
を使うことが出来ます.
have_library(lib, func): ライブラリの存在チェック
@@ -706,7 +706,7 @@ Makefileを作る場合の雛型になるextconf.rbというファイルを作り
ンパイルしない時にはcreate_makefileを呼ばなければMakefileは
生成されず,コンパイルも行われません.
-モジュールがruby 1.1専用である場合には
+モジュールがRuby 1.1専用である場合には
require 'mkmf'
@@ -745,7 +745,7 @@ Makefileを実際に生成するためには
としてください.
-ディレクトリをext以下に用意した場合にはruby全体のmakeの時に
+ディレクトリをext以下に用意した場合にはRuby全体のmakeの時に
自動的にMakefileが生成されますので,このステップは不要です.
(9) makeする
@@ -753,15 +753,15 @@ Makefileを実際に生成するためには
動的リンクライブラリを生成する場合にはその場でmakeしてくださ
い.必要であれば make install でインストールされます.
-ext以下にディレクトリを用意した場合は,rubyのディレクトリで
+ext以下にディレクトリを用意した場合は,Rubyのディレクトリで
makeを実行するとMakefileを生成からmake,必要によってはそのモ
-ジュールのrubyへのリンクまで自動的に実行してくれます.
+ジュールのRubyへのリンクまで自動的に実行してくれます.
extconf.rbを書き換えるなどしてMakefileの再生成が必要な時はま
-たrubyディレクトリでmakeしてください.
+たRubyディレクトリでmakeしてください.
-動的リンクライブラリはmake installでrubyライブラリのディレク
-トリの下にコピーされます.もしモジュールと協調して使うrubyで
-記述されたプログラムがあり,rubyライブラリに置きたい場合には,
+動的リンクライブラリはmake installでRubyライブラリのディレク
+トリの下にコピーされます.もしモジュールと協調して使うRubyで
+記述されたプログラムがあり,Rubyライブラリに置きたい場合には,
拡張モジュール用のディレクトリの下に lib というディレクトリ
を作り,そこに 拡張子 .rb のファイルを置いておけば同時にイン
ストールされます.
@@ -775,17 +775,17 @@ extconf.rbを書き換えるなどしてMakefileの再生成が必要な時はま
(11) できあがり
後はこっそり使うなり,広く公開するなり,売るなり,ご自由にお
-使いください.rubyの作者は拡張モジュールに関して一切の権利を
+使いください.Rubyの作者は拡張モジュールに関して一切の権利を
主張しません.
-Appendix A. rubyのソースコードの分類
+Appendix A. Rubyのソースコードの分類
-rubyのソースはいくつかに分類することが出来ます.このうちクラ
+Rubyのソースはいくつかに分類することが出来ます.このうちクラ
スライブラリの部分は基本的に拡張モジュールと同じ作り方になっ
ています.これらのソースは今までの説明でほとんど理解できると
思います.
-ruby言語のコア
+Ruby言語のコア
class.c
error.c
@@ -804,7 +804,7 @@ ruby言語のコア
st.c
util.c
-rubyコマンドの実装
+Rubyコマンドの実装
dmyext.c
inits.c
@@ -838,13 +838,13 @@ rubyコマンドの実装
Appendix B. 拡張用関数リファレンス
-C言語からrubyの機能を利用するAPIは以下の通りである.
+C言語からRubyの機能を利用するAPIは以下の通りである.
** 型
VALUE
-rubyオブジェクトを表現する型.必要に応じてキャストして用いる.
+Rubyオブジェクトを表現する型.必要に応じてキャストして用いる.
組み込み型を表現するCの型はruby.hに記述してあるRで始まる構造
体である.VALUE型をこれらにキャストするためにRで始まる構造体
名を全て大文字にした名前のマクロが用意されている.
@@ -867,9 +867,9 @@ rubyオブジェクトを表現する型.必要に応じてキャストして用いる.
Data_Wrap_Struct(VALUE class, void (*mark)(), void (*free)(), void *sval)
-Cの任意のポインタをカプセル化したrubyオブジェクトを返す.こ
-のポインタがrubyからアクセスされなくなった時,freeで指定した
-関数が呼ばれる.また,このポインタの指すデータが他のrubyオブ
+Cの任意のポインタをカプセル化したRubyオブジェクトを返す.こ
+のポインタがRubyからアクセスされなくなった時,freeで指定した
+関数が呼ばれる.また,このポインタの指すデータが他のRubyオブ
ジェクトを指している場合,markに指定する関数でマークする必要
がある.
@@ -905,20 +905,20 @@ dataからtype型のポインタを取り出し変数svalに代入するマクロ.
VALUE rb_define_class(char *name, VALUE super)
-superのサブクラスとして新しいrubyクラスを定義する.
+superのサブクラスとして新しいRubyクラスを定義する.
VALUE rb_define_class_under(VALUE module, char *name, VALUE super)
-superのサブクラスとして新しいrubyクラスを定義し,moduleの定
+superのサブクラスとして新しいRubyクラスを定義し,moduleの定
数として定義する.
VALUE rb_define_module(char *name)
-新しいrubyモジュールを定義する.
+新しいRubyモジュールを定義する.
VALUE rb_define_module_under(VALUE module, char *name, VALUE super)
-新しいrubyモジュールを定義し,moduleの定数として定義する.
+新しいRubyモジュールを定義し,moduleの定数として定義する.
void rb_include_module(VALUE class, VALUE module)
@@ -933,20 +933,20 @@ superのサブクラスとして新しいrubyクラスを定義し,moduleの定
void rb_define_variable(char *name, VALUE *var)
-rubyとCとで共有するグローバル変数を定義する.変数名が`$'で始
-まらない時には自動的に追加される.nameとしてrubyの識別子とし
-て許されない文字(例えば` ')を含む場合にはrubyプログラムから
+RubyとCとで共有するグローバル変数を定義する.変数名が`$'で始
+まらない時には自動的に追加される.nameとしてRubyの識別子とし
+て許されない文字(例えば` ')を含む場合にはRubyプログラムから
は見えなくなる.
void rb_define_readonly_variable(char *name, VALUE *var)
-rubyとCとで共有するread onlyのグローバル変数を定義する.read
+RubyとCとで共有するread onlyのグローバル変数を定義する.read
onlyであること以外はrb_define_variable()と同じ.
void rb_define_virtual_variable(char *name,
VALUE (*getter)(), VALUE (*setter)())
-関数によって実現されるruby変数を定義する.変数が参照された時
+関数によって実現されるRuby変数を定義する.変数が参照された時
にはgetterが,変数に値がセットされた時にはsetterが呼ばれる.
void rb_define_hooked_variable(char *name, VALUE *var,
@@ -959,7 +959,7 @@ onlyであること以外はrb_define_variable()と同じ.
void rb_global_variable(VALUE *var)
-GCのため,rubyプログラムからはアクセスされないが, rubyオブジェ
+GCのため,Rubyプログラムからはアクセスされないが, Rubyオブジェ
クトを含む大域変数をマークする.
** クラス定数
@@ -983,7 +983,7 @@ GCのため,rubyプログラムからはアクセスされないが, rubyオブジェ
メソッドを定義する.argcはselfを除く引数の数.argcが-1の時,
関数には引数の数(selfを含まない)を第1引数, 引数の配列を第2引
数とする形式で与えられる(第3引数はself).argcが-2の時, 第1引
-数がself, 第2引数がargs(argsは引数を含むrubyの配列)という形
+数がself, 第2引数がargs(argsは引数を含むRubyの配列)という形
式で与えられる.
rb_define_private_method(VALUE class, char *name, VALUE (*func)(), int argc)
@@ -1004,7 +1004,7 @@ argc,argv形式で与えられた引数を分解する.fmtは必須引数の数,
数に対応する引数が与えられていない場合は変数にQnilが代入され
る.
-** rubyメソッド呼び出し
+** Rubyメソッド呼び出し
VALUE rb_funcall(VALUE recv, ID mid, int narg, ...)
@@ -1016,7 +1016,7 @@ argc,argv形式で与えられた引数を分解する.fmtは必須引数の数,
VALUE rb_eval_string(char *str)
-文字列をrubyとスクリプトしてコンパイル・実行する.
+文字列をRubyとスクリプトしてコンパイル・実行する.
ID rb_intern(char *name)
@@ -1036,7 +1036,7 @@ classの名前を返す(デバッグ用).classが名前を持たない時には,
VALUE rb_iv_get(VALUE obj, char *name)
objのインスタンス変数の値を得る.`@'で始まらないインスタンス
-変数は rubyプログラムからアクセスできない「隠れた」インスタ
+変数は Rubyプログラムからアクセスできない「隠れた」インスタ
ンス変数になる.定数は大文字の名前を持つクラス(またはモジュー
ル)のインスタンス変数として実装されている.
@@ -1095,22 +1095,22 @@ exceptionで指定した例外を発生させる.fmt以下の引数はprintf()と同じ.
況の時呼ぶ.インタープリタはコアダンプし直ちに終了する.例外
処理は一切行なわれない.
-** rubyの初期化・実行
+** Rubyの初期化・実行
-rubyをアプリケーションに埋め込む場合には以下のインタフェース
+Rubyをアプリケーションに埋め込む場合には以下のインタフェース
を使う.通常の拡張モジュールには必要ない.
void ruby_init(int argc, char **argv, char **envp)
-rubyインタプリタの初期化を行なう.
+Rubyインタプリタの初期化を行なう.
void ruby_run()
-rubyインタプリタを実行する.
+Rubyインタプリタを実行する.
void ruby_script(char *name)
-rubyのスクリプト名($0)を設定する.
+Rubyのスクリプト名($0)を設定する.
Appendix B. extconf.rbで使える関数たち