diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-12-16 07:30:36 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-12-16 07:30:36 +0000 |
commit | e299d511db939232c628d6880e61c32e83937d66 (patch) | |
tree | a2083bfd64a4fb3ed7454a7e7062ff9f7fa1232e /README.EXT.jp | |
parent | ce8859c5563493a94f57d3b630e7b9c1d3cd656f (diff) |
first public release of 1.1d (pre1.2) series
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1dev@354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'README.EXT.jp')
-rw-r--r-- | README.EXT.jp | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/README.EXT.jp b/README.EXT.jp index 9dbd845fa7..87175be853 100644 --- a/README.EXT.jp +++ b/README.EXT.jp @@ -1,6 +1,6 @@ .\" README.EXT - -*- Text -*- created at: Mon Aug 7 16:45:54 JST 1995 -Rubyの拡張モジュールの作り方を説明します. +Rubyの拡張ライブラリの作り方を説明します. 1.基礎知識 @@ -120,8 +120,8 @@ ruby.hでは構造体へキャストするマクロも「RXXXXX()」(全部大文 例えば,文字列strの長さを得るためには「RSTRING(str)->len」と し,文字列strをchar*として得るためには「RSTRING(str)->ptr」 -とします.配列の場合には,それぞれ「RARRAY(str)->len」, -「RARRAY(str)->ptr」となります. +とします.配列の場合には,それぞれ「RARRAY(ary)->len」, +「RARRAY(ary)->ptr」となります. Rubyの構造体を直接アクセスする時に気をつけなければならないこ とは,配列や文字列の構造体の中身は参照するだけで,直接変更し @@ -309,7 +309,7 @@ privateメソッドとは関数形式でしか呼び出すことの出来ないメソッ 2.1.3 定数定義 -拡張モジュールが必要な定数はあらかじめ定義しておいた方が良い +拡張ライブラリが必要な定数はあらかじめ定義しておいた方が良い でしょう.定数を定義する関数は二つあります. void rb_define_const(VALUE class, char *name, VALUE val) @@ -376,9 +376,9 @@ applyには引数としてRubyの配列を与えます. 2.2.4 変数/定数を参照/更新する -Cから関数を使って参照・更新できるのは,クラス定数,インスタ -ンス変数です.大域変数は一部のものはCの大域変数としてアクセ -スできます.ローカル変数を参照する方法は公開していません. +Cから関数を使って参照・更新できるのは,定数,インスタンス変 +数です.大域変数は一部のものはCの大域変数としてアクセスでき +ます.ローカル変数を参照する方法は公開していません. オブジェクトのインスタンス変数を参照・更新する関数は以下の通 りです. @@ -388,11 +388,11 @@ Cから関数を使って参照・更新できるのは,クラス定数,インスタ idはrb_intern()で得られるものを使ってください. -クラス定数を参照するには以下の関数を使ってください. +定数を参照するには以下の関数を使ってください. VALUE rb_const_get(VALUE obj, ID id) -クラス定数を新しく定義するためには『2.1.3 定数定義』で紹介さ +定数を新しく定義するためには『2.1.3 定数定義』で紹介さ れている関数を使ってください. 3.RubyとCとの情報共有 @@ -504,7 +504,7 @@ Cの構造体へのポインタは変数svalに代入されます. 4.例題 - dbmパッケージを作る -ここまでの説明でとりあえず拡張モジュールは作れるはずです. +ここまでの説明でとりあえず拡張ライブラリは作れるはずです. Rubyのextディレクトリにすでに含まれているdbmモジュールを例に して段階的に説明します. @@ -523,12 +523,12 @@ Ruby 1.1からは任意のディレクトリでダイナミックライブラリを作 % cd ext/dbm % touch MANIFEST -拡張モジュールのディレクトリの下にはMANIFESTというファイルが +拡張ライブラリのディレクトリの下にはMANIFESTというファイルが 必要なので,とりあえず空のファイルを作っておきます.後でこの ファイルには必要なファイル一覧が入ることになります. MANIFESTというファイルは,静的リンクのmakeの時にディレクトリ -が拡張モジュールを含んでいるかどうか判定するために使われれて +が拡張ライブラリを含んでいるかどうか判定するために使われれて います.ダイナミックライブラリを作る場合には必ずしも必要では ありません. @@ -541,14 +541,14 @@ MANIFESTというファイルは,静的リンクのmakeの時にディレクトリ (4) Cコードを書く -拡張モジュール本体となるC言語のソースを書きます.C言語のソー +拡張ライブラリ本体となるC言語のソースを書きます.C言語のソー スがひとつの時には「モジュール名.c」を選ぶと良いでしょう.C 言語のソースが複数の場合には逆に「モジュール名.c」というファ イル名は避ける必要があります.オブジェクトファイルとモジュー ル生成時に中間的に生成される「モジュール名.o」というファイル とが衝突するからです. -Rubyは拡張モジュールをロードする時に「Init_モジュール名」と +Rubyは拡張ライブラリをロードする時に「Init_モジュール名」と いう関数を自動的に実行します.dbmモジュールの場合「Init_dbm」 です.この関数の中でクラス,モジュール,メソッド,定数などの 定義を行います.dbm.cから一部引用します. @@ -762,7 +762,7 @@ extconf.rbを書き換えるなどしてMakefileの再生成が必要な時はま 動的リンクライブラリはmake installでRubyライブラリのディレク トリの下にコピーされます.もしモジュールと協調して使うRubyで 記述されたプログラムがあり,Rubyライブラリに置きたい場合には, -拡張モジュール用のディレクトリの下に lib というディレクトリ +拡張ライブラリ用のディレクトリの下に lib というディレクトリ を作り,そこに 拡張子 .rb のファイルを置いておけば同時にイン ストールされます. @@ -775,13 +775,13 @@ extconf.rbを書き換えるなどしてMakefileの再生成が必要な時はま (11) できあがり 後はこっそり使うなり,広く公開するなり,売るなり,ご自由にお -使いください.Rubyの作者は拡張モジュールに関して一切の権利を +使いください.Rubyの作者は拡張ライブラリに関して一切の権利を 主張しません. Appendix A. Rubyのソースコードの分類 Rubyのソースはいくつかに分類することが出来ます.このうちクラ -スライブラリの部分は基本的に拡張モジュールと同じ作り方になっ +スライブラリの部分は基本的に拡張ライブラリと同じ作り方になっ ています.これらのソースは今までの説明でほとんど理解できると 思います. @@ -962,11 +962,11 @@ onlyであること以外はrb_define_variable()と同じ. GCのため,Rubyプログラムからはアクセスされないが, Rubyオブジェ クトを含む大域変数をマークする. -** クラス定数 +** 定数 - void rb_define_const(VALUE class, char *name, VALUE val) + void rb_define_const(VALUE klass, char *name, VALUE val) -クラス定数を定義する. +定数を定義する. void rb_define_global_const(char *name, VALUE val) @@ -1098,7 +1098,7 @@ exceptionで指定した例外を発生させる.fmt以下の引数はprintf()と同じ. ** Rubyの初期化・実行 Rubyをアプリケーションに埋め込む場合には以下のインタフェース -を使う.通常の拡張モジュールには必要ない. +を使う.通常の拡張ライブラリには必要ない. void ruby_init(int argc, char **argv, char **envp) @@ -1121,7 +1121,7 @@ extconf.rbの中では利用可能なコンパイル条件チェックの関数は以 have_library(lib, func) 関数funcを定義しているライブラリlibの存在をチェックする.ラ -イブラリが存在する時,Qtrueを返す. +イブラリが存在する時,trueを返す. have_func(func) @@ -1132,11 +1132,11 @@ extconf.rbの中では利用可能なコンパイル条件チェックの関数は以 have_header(header) ヘッダファイルの存在をチェックする.ヘッダファイルが存在する -時TRUEを返す. +時trueを返す. create_makefile(target) -拡張モジュール用のMakefileを生成する.この関数を呼ばなければ +拡張ライブラリ用のMakefileを生成する.この関数を呼ばなければ そのモジュールはコンパイルされない.targetはモジュール名を表 す. |