mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* README*: remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
5f55548738
commit
a6e30a8714
4 changed files with 42 additions and 42 deletions
2
README
2
README
|
@ -128,7 +128,7 @@ See the file COPYING.
|
||||||
|
|
||||||
* The Author
|
* The Author
|
||||||
|
|
||||||
Feel free to send comments and bug reports to the author. Here is the
|
Feel free to send comments and bug reports to the author. Here is the
|
||||||
author's latest mail address:
|
author's latest mail address:
|
||||||
|
|
||||||
matz@netlab.jp
|
matz@netlab.jp
|
||||||
|
|
38
README.EXT
38
README.EXT
|
@ -149,7 +149,7 @@ To convert C data to Ruby values:
|
||||||
|
|
||||||
cast to VALUE.
|
cast to VALUE.
|
||||||
|
|
||||||
You can determine whether a VALUE is pointer or not by checking its LSB.
|
You can determine whether a VALUE is pointer or not by checking its LSB.
|
||||||
|
|
||||||
Notice Ruby does not allow arbitrary pointer values to be a VALUE. They
|
Notice Ruby does not allow arbitrary pointer values to be a VALUE. They
|
||||||
should be pointers to the structures which Ruby knows about. The known
|
should be pointers to the structures which Ruby knows about. The known
|
||||||
|
@ -215,9 +215,9 @@ listed below:
|
||||||
rb_str_cat2(str, rb_vsprintf(format, ap)), respectively.
|
rb_str_cat2(str, rb_vsprintf(format, ap)), respectively.
|
||||||
|
|
||||||
rb_enc_str_new(const char *ptr, long len, rb_encoding *enc)
|
rb_enc_str_new(const char *ptr, long len, rb_encoding *enc)
|
||||||
|
|
||||||
Creates a new Ruby string with the specified encoding.
|
Creates a new Ruby string with the specified encoding.
|
||||||
|
|
||||||
rb_usascii_str_new(const char *ptr, long len)
|
rb_usascii_str_new(const char *ptr, long len)
|
||||||
rb_usascii_str_new_cstr(const char *ptr)
|
rb_usascii_str_new_cstr(const char *ptr)
|
||||||
|
|
||||||
|
@ -315,17 +315,17 @@ To define nested classes or modules, use the functions below:
|
||||||
|
|
||||||
To define methods or singleton methods, use these functions:
|
To define methods or singleton methods, use these functions:
|
||||||
|
|
||||||
void rb_define_method(VALUE klass, const char *name,
|
void rb_define_method(VALUE klass, const char *name,
|
||||||
VALUE (*func)(), int argc)
|
VALUE (*func)(), int argc)
|
||||||
|
|
||||||
void rb_define_singleton_method(VALUE object, const char *name,
|
void rb_define_singleton_method(VALUE object, const char *name,
|
||||||
VALUE (*func)(), int argc)
|
VALUE (*func)(), int argc)
|
||||||
|
|
||||||
The `argc' represents the number of the arguments to the C function,
|
The `argc' represents the number of the arguments to the C function,
|
||||||
which must be less than 17. But I doubt you'll need that many.
|
which must be less than 17. But I doubt you'll need that many.
|
||||||
|
|
||||||
If `argc' is negative, it specifies the calling sequence, not number of
|
If `argc' is negative, it specifies the calling sequence, not number of
|
||||||
the arguments.
|
the arguments.
|
||||||
|
|
||||||
If argc is -1, the function will be called as:
|
If argc is -1, the function will be called as:
|
||||||
|
|
||||||
|
@ -345,14 +345,14 @@ actual arguments.
|
||||||
There are some more functions to define methods. One takes an ID
|
There are some more functions to define methods. One takes an ID
|
||||||
as the name of method to be defined. See 2.2.2 for IDs.
|
as the name of method to be defined. See 2.2.2 for IDs.
|
||||||
|
|
||||||
void rb_define_method_id(VALUE klass, ID name,
|
void rb_define_method_id(VALUE klass, ID name,
|
||||||
VALUE (*func)(ANYARGS), int argc)
|
VALUE (*func)(ANYARGS), int argc)
|
||||||
|
|
||||||
There are two functions to define private/protected methods:
|
There are two functions to define private/protected methods:
|
||||||
|
|
||||||
void rb_define_private_method(VALUE klass, const char *name,
|
void rb_define_private_method(VALUE klass, const char *name,
|
||||||
VALUE (*func)(), int argc)
|
VALUE (*func)(), int argc)
|
||||||
void rb_define_protected_method(VALUE klass, const char *name,
|
void rb_define_protected_method(VALUE klass, const char *name,
|
||||||
VALUE (*func)(), int argc)
|
VALUE (*func)(), int argc)
|
||||||
|
|
||||||
At last, rb_define_module_function defines a module functions,
|
At last, rb_define_module_function defines a module functions,
|
||||||
|
@ -369,7 +369,7 @@ or
|
||||||
|
|
||||||
To define module functions, use:
|
To define module functions, use:
|
||||||
|
|
||||||
void rb_define_module_function(VALUE module, const char *name,
|
void rb_define_module_function(VALUE module, const char *name,
|
||||||
VALUE (*func)(), int argc)
|
VALUE (*func)(), int argc)
|
||||||
|
|
||||||
In addition, function-like methods, which are private methods defined
|
In addition, function-like methods, which are private methods defined
|
||||||
|
@ -418,7 +418,7 @@ evaluate the string as Ruby program. This function will do the job:
|
||||||
Evaluation is done under the current context, thus current local variables
|
Evaluation is done under the current context, thus current local variables
|
||||||
of the innermost method (which is defined by Ruby) can be accessed.
|
of the innermost method (which is defined by Ruby) can be accessed.
|
||||||
|
|
||||||
Note that the evaluation can raise an exception. There is a safer
|
Note that the evaluation can raise an exception. There is a safer
|
||||||
function:
|
function:
|
||||||
|
|
||||||
VALUE rb_eval_string_protect(const char *str, int *state)
|
VALUE rb_eval_string_protect(const char *str, int *state)
|
||||||
|
@ -582,7 +582,7 @@ Data_Get_Struct().
|
||||||
|
|
||||||
A pointer to the structure will be assigned to the variable sval.
|
A pointer to the structure will be assigned to the variable sval.
|
||||||
|
|
||||||
See the example below for details.
|
See the example below for details.
|
||||||
|
|
||||||
4. Example - Creating dbm extension
|
4. Example - Creating dbm extension
|
||||||
|
|
||||||
|
@ -640,7 +640,7 @@ Init_dbm(void)
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
|
|
||||||
The dbm extension wraps the dbm struct in the C environment using
|
The dbm extension wraps the dbm struct in the C environment using
|
||||||
Data_Make_Struct.
|
Data_Make_Struct.
|
||||||
|
|
||||||
--
|
--
|
||||||
|
@ -869,7 +869,7 @@ utility functions
|
||||||
ruby interpreter implementation
|
ruby interpreter implementation
|
||||||
|
|
||||||
dmyext.c
|
dmyext.c
|
||||||
dmydln.c
|
dmydln.c
|
||||||
dmyencoding.c
|
dmyencoding.c
|
||||||
id.c
|
id.c
|
||||||
inits.c
|
inits.c
|
||||||
|
@ -905,7 +905,7 @@ class library
|
||||||
rational.c : Rational
|
rational.c : Rational
|
||||||
re.c : Regexp, MatchData
|
re.c : Regexp, MatchData
|
||||||
signal.c : Signal
|
signal.c : Signal
|
||||||
sprintf.c :
|
sprintf.c :
|
||||||
string.c : String
|
string.c : String
|
||||||
struct.c : Struct
|
struct.c : Struct
|
||||||
time.c : Time
|
time.c : Time
|
||||||
|
@ -920,7 +920,7 @@ multilingualization
|
||||||
enc/trans/* : codepoint mapping tables
|
enc/trans/* : codepoint mapping tables
|
||||||
|
|
||||||
goruby interpreter implementation
|
goruby interpreter implementation
|
||||||
|
|
||||||
goruby.c
|
goruby.c
|
||||||
golf_prelude.rb : goruby specific libraries.
|
golf_prelude.rb : goruby specific libraries.
|
||||||
-> golf_prelude.c : automatically generated
|
-> golf_prelude.c : automatically generated
|
||||||
|
@ -968,7 +968,7 @@ sval, and returns the DATA encapsulating the pointer to memory region.
|
||||||
Data_Get_Struct(data, type, sval)
|
Data_Get_Struct(data, type, sval)
|
||||||
|
|
||||||
This macro retrieves the pointer value from DATA, and assigns it to
|
This macro retrieves the pointer value from DATA, and assigns it to
|
||||||
the variable sval.
|
the variable sval.
|
||||||
|
|
||||||
** Checking data types
|
** Checking data types
|
||||||
|
|
||||||
|
@ -1055,7 +1055,7 @@ The getter function must return the value for the access.
|
||||||
void rb_define_hooked_variable(const char *name, VALUE *var,
|
void rb_define_hooked_variable(const char *name, VALUE *var,
|
||||||
VALUE (*getter)(), VALUE (*setter)())
|
VALUE (*getter)(), VALUE (*setter)())
|
||||||
|
|
||||||
Defines hooked variable. It's a virtual variable with a C variable.
|
Defines hooked variable. It's a virtual variable with a C variable.
|
||||||
The getter is called as
|
The getter is called as
|
||||||
|
|
||||||
VALUE getter(ID id, VALUE *var)
|
VALUE getter(ID id, VALUE *var)
|
||||||
|
@ -1213,7 +1213,7 @@ arguments.
|
||||||
Calls the function func1, supplying func2 as the block. func1 will be
|
Calls the function func1, supplying func2 as the block. func1 will be
|
||||||
called with the argument arg1. func2 receives the value from yield as
|
called with the argument arg1. func2 receives the value from yield as
|
||||||
the first argument, arg2 as the second argument.
|
the first argument, arg2 as the second argument.
|
||||||
|
|
||||||
When rb_iterate is used in 1.9, func1 has to call some Ruby-level method.
|
When rb_iterate is used in 1.9, func1 has to call some Ruby-level method.
|
||||||
This function is obsolete since 1.9; use rb_block_call instead.
|
This function is obsolete since 1.9; use rb_block_call instead.
|
||||||
|
|
||||||
|
|
|
@ -115,9 +115,9 @@ FIXNUM
|
||||||
(整数に変換できない場合には例外が発生する).同様にチェック無
|
(整数に変換できない場合には例外が発生する).同様にチェック無
|
||||||
で使える変換マクロはdoubleを取り出す「NUM2DBL()」があります.
|
で使える変換マクロはdoubleを取り出す「NUM2DBL()」があります.
|
||||||
|
|
||||||
char* を取り出す場合, StringValue() と StringValuePtr()
|
char* を取り出す場合, StringValue() と StringValuePtr()
|
||||||
を使います.
|
を使います.
|
||||||
StringValue(var) は var が String
|
StringValue(var) は var が String
|
||||||
であれば何もせず,そうでなければ var を var.to_str() の結果
|
であれば何もせず,そうでなければ var を var.to_str() の結果
|
||||||
に置き換えるマクロ,StringValuePtr(var) は同様に var を
|
に置き換えるマクロ,StringValuePtr(var) は同様に var を
|
||||||
String に置き換えてから var のバイト列表現に対する char* を
|
String に置き換えてから var のバイト列表現に対する char* を
|
||||||
|
@ -242,9 +242,9 @@ Ruby
|
||||||
rb_str_cat2(str, rb_vsprintf(format, ap)) と同等である.
|
rb_str_cat2(str, rb_vsprintf(format, ap)) と同等である.
|
||||||
|
|
||||||
rb_enc_str_new(const char *ptr, long len, rb_encoding *enc)
|
rb_enc_str_new(const char *ptr, long len, rb_encoding *enc)
|
||||||
|
|
||||||
指定されたエンコーディングでRubyの文字列を生成する.
|
指定されたエンコーディングでRubyの文字列を生成する.
|
||||||
|
|
||||||
rb_usascii_str_new(const char *ptr, long len)
|
rb_usascii_str_new(const char *ptr, long len)
|
||||||
rb_usascii_str_new_cstr(const char *ptr)
|
rb_usascii_str_new_cstr(const char *ptr)
|
||||||
|
|
||||||
|
@ -352,10 +352,10 @@ Ruby
|
||||||
|
|
||||||
メソッドや特異メソッドを定義するには以下の関数を使います.
|
メソッドや特異メソッドを定義するには以下の関数を使います.
|
||||||
|
|
||||||
void rb_define_method(VALUE klass, const char *name,
|
void rb_define_method(VALUE klass, const char *name,
|
||||||
VALUE (*func)(), int argc)
|
VALUE (*func)(), int argc)
|
||||||
|
|
||||||
void rb_define_singleton_method(VALUE object, const char *name,
|
void rb_define_singleton_method(VALUE object, const char *name,
|
||||||
VALUE (*func)(), int argc)
|
VALUE (*func)(), int argc)
|
||||||
|
|
||||||
|
|
||||||
|
@ -377,14 +377,14 @@ argc
|
||||||
メソッドを定義する関数はまだいくつかあります. ひとつはメソッド
|
メソッドを定義する関数はまだいくつかあります. ひとつはメソッド
|
||||||
名としてIDを取ります. IDについては2.2.2を参照.
|
名としてIDを取ります. IDについては2.2.2を参照.
|
||||||
|
|
||||||
void rb_define_method_id(VALUE klass, ID name,
|
void rb_define_method_id(VALUE klass, ID name,
|
||||||
VALUE (*func)(ANYARGS), int argc)
|
VALUE (*func)(ANYARGS), int argc)
|
||||||
|
|
||||||
private/protectedなメソッドを定義するふたつの関数があります.
|
private/protectedなメソッドを定義するふたつの関数があります.
|
||||||
|
|
||||||
void rb_define_private_method(VALUE klass, const char *name,
|
void rb_define_private_method(VALUE klass, const char *name,
|
||||||
VALUE (*func)(), int argc)
|
VALUE (*func)(), int argc)
|
||||||
void rb_define_protected_method(VALUE klass, const char *name,
|
void rb_define_protected_method(VALUE klass, const char *name,
|
||||||
VALUE (*func)(), int argc)
|
VALUE (*func)(), int argc)
|
||||||
|
|
||||||
privateメソッドとは関数形式でしか呼び出すことの出来ないメソッ
|
privateメソッドとは関数形式でしか呼び出すことの出来ないメソッ
|
||||||
|
@ -405,7 +405,7 @@ private
|
||||||
という形式でも使えます.モジュール関数を定義する関数は以下の
|
という形式でも使えます.モジュール関数を定義する関数は以下の
|
||||||
通りです.
|
通りです.
|
||||||
|
|
||||||
void rb_define_module_function(VALUE module, const char *name,
|
void rb_define_module_function(VALUE module, const char *name,
|
||||||
VALUE (*func)(), int argc)
|
VALUE (*func)(), int argc)
|
||||||
|
|
||||||
関数的メソッド(Kernelモジュールのprivate method)を定義するた
|
関数的メソッド(Kernelモジュールのprivate method)を定義するた
|
||||||
|
@ -1005,7 +1005,7 @@ Ruby
|
||||||
rational.c : Rational
|
rational.c : Rational
|
||||||
re.c : Regexp, MatchData
|
re.c : Regexp, MatchData
|
||||||
signal.c : Signal
|
signal.c : Signal
|
||||||
sprintf.c :
|
sprintf.c :
|
||||||
string.c : String
|
string.c : String
|
||||||
struct.c : Struct
|
struct.c : Struct
|
||||||
time.c : Time
|
time.c : Time
|
||||||
|
@ -1020,7 +1020,7 @@ Ruby
|
||||||
enc/trans/* : コードポイント対応表
|
enc/trans/* : コードポイント対応表
|
||||||
|
|
||||||
gorubyコマンドの実装
|
gorubyコマンドの実装
|
||||||
|
|
||||||
goruby.c
|
goruby.c
|
||||||
golf_prelude.rb : goruby固有のライブラリ
|
golf_prelude.rb : goruby固有のライブラリ
|
||||||
-> golf_prelude.c : 自動生成
|
-> golf_prelude.c : 自動生成
|
||||||
|
@ -1180,12 +1180,12 @@ void rb_define_global_const(const char *name, VALUE val)
|
||||||
|
|
||||||
rb_define_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
|
rb_define_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
|
||||||
|
|
||||||
メソッドを定義する.argcはselfを除く引数の数.argcが-1の時,
|
メソッドを定義する.argcはselfを除く引数の数.argcが-1の時,
|
||||||
関数には引数の数(selfを含まない)を第1引数, 引数の配列を第2
|
関数には引数の数(selfを含まない)を第1引数, 引数の配列を第2
|
||||||
引数とする形式で与えられる(第3引数はself).argcが-2の時,
|
引数とする形式で与えられる(第3引数はself).argcが-2の時,
|
||||||
第1引数がself, 第2引数がargs(argsは引数を含むRubyの配列)と
|
第1引数がself, 第2引数がargs(argsは引数を含むRubyの配列)と
|
||||||
いう形式で与えられる.
|
いう形式で与えられる.
|
||||||
|
|
||||||
rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
|
rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
|
||||||
|
|
||||||
privateメソッドを定義する.引数はrb_define_method()と同じ.
|
privateメソッドを定義する.引数はrb_define_method()と同じ.
|
||||||
|
@ -1298,10 +1298,10 @@ VALUE rb_block_call(VALUE obj, ID mid, int argc, VALUE * argv,
|
||||||
|
|
||||||
[OBSOLETE] VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2)
|
[OBSOLETE] VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2)
|
||||||
|
|
||||||
func2をブロックとして設定し, func1をイテレータとして呼ぶ.
|
func2をブロックとして設定し, func1をイテレータとして呼ぶ.
|
||||||
func1には arg1が引数として渡され, func2には第1引数にイテレー
|
func1には arg1が引数として渡され, func2には第1引数にイテレー
|
||||||
タから与えられた値, 第2引数にarg2が渡される.
|
タから与えられた値, 第2引数にarg2が渡される.
|
||||||
|
|
||||||
1.9でrb_iterateを使う場合は, func1の中でRubyレベルのメソッド
|
1.9でrb_iterateを使う場合は, func1の中でRubyレベルのメソッド
|
||||||
を呼び出さなければならない.
|
を呼び出さなければならない.
|
||||||
1.9でobsoleteとなった. 代わりにrb_block_callが用意された.
|
1.9でobsoleteとなった. 代わりにrb_block_callが用意された.
|
||||||
|
@ -1559,7 +1559,7 @@ dir_config(target[, default_include, default_lib])
|
||||||
|
|
||||||
pkg_config(pkg)
|
pkg_config(pkg)
|
||||||
|
|
||||||
pkg-configコマンドからパッケージpkgの情報を得る.
|
pkg-configコマンドからパッケージpkgの情報を得る.
|
||||||
pkg-configの実際のコマンド名は,--with-pkg-configコマンド
|
pkg-configの実際のコマンド名は,--with-pkg-configコマンド
|
||||||
ラインオプションで指定可能.
|
ラインオプションで指定可能.
|
||||||
|
|
||||||
|
|
|
@ -61,8 +61,8 @@ Ruby
|
||||||
まで本文に
|
まで本文に
|
||||||
|
|
||||||
subscribe YourFirstName YourFamilyName
|
subscribe YourFirstName YourFamilyName
|
||||||
|
|
||||||
と書いて送って下さい。
|
と書いて送って下さい。
|
||||||
|
|
||||||
Ruby開発者向けメーリングリストもあります。こちらではrubyのバ
|
Ruby開発者向けメーリングリストもあります。こちらではrubyのバ
|
||||||
グ、将来の仕様拡張など実装上の問題について議論されています。
|
グ、将来の仕様拡張など実装上の問題について議論されています。
|
||||||
|
@ -70,12 +70,12 @@ Ruby
|
||||||
|
|
||||||
ruby-dev-ctl@ruby-lang.org
|
ruby-dev-ctl@ruby-lang.org
|
||||||
|
|
||||||
までruby-listと同様の方法でメールしてください。
|
までruby-listと同様の方法でメールしてください。
|
||||||
|
|
||||||
Ruby拡張モジュールについて話し合うruby-extメーリングリストと
|
Ruby拡張モジュールについて話し合うruby-extメーリングリストと
|
||||||
数学関係の話題について話し合うruby-mathメーリングリストと
|
数学関係の話題について話し合うruby-mathメーリングリストと
|
||||||
英語で話し合うruby-talkメーリングリストもあります。参加方法
|
英語で話し合うruby-talkメーリングリストもあります。参加方法
|
||||||
はどれも同じです。
|
はどれも同じです。
|
||||||
|
|
||||||
|
|
||||||
* コンパイル・インストール
|
* コンパイル・インストール
|
||||||
|
|
Loading…
Reference in a new issue