mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
README.ja, README.EXT.ja: resolve conflicts. [ruby-dev:44459]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
75c42535c9
commit
48cd6cb153
3 changed files with 4 additions and 155 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
Mon Sep 5 10:04:35 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
|
||||||
|
|
||||||
|
* README.ja, README.EXT.ja: resolve conflicts. [ruby-dev:44459]
|
||||||
|
|
||||||
Mon Sep 5 05:13:22 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
|
Mon Sep 5 05:13:22 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
|
||||||
|
|
||||||
* numeric.c (flo_round): Make Float#round round big values [bug
|
* numeric.c (flo_round): Make Float#round round big values [bug
|
||||||
|
|
141
README.EXT.ja
141
README.EXT.ja
|
@ -94,110 +94,6 @@ FIXNUMとNILに関してはより高速な判別マクロが用意されてい
|
||||||
FIXNUM_P(obj)
|
FIXNUM_P(obj)
|
||||||
NIL_P(obj)
|
NIL_P(obj)
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
1.3 VALUEをCのデータに変換する
|
|
||||||
|
|
||||||
データタイプがT_NIL,T_FALSE,T_TRUEである時,データはそれぞ
|
|
||||||
れnil,false,trueです.このデータタイプのオブジェクトはひと
|
|
||||||
つずつしか存在しません.
|
|
||||||
|
|
||||||
データタイプがT_FIXNUMの時,これは31bitまたは63bitのサイズを
|
|
||||||
持つ整数です.longのサイズが32bitのプラットフォームであれば
|
|
||||||
31bitに,longのサイズが64bitのプラットフォームであれば63bit
|
|
||||||
になります. FIXNUM を C の整数に変換するためにはマクロ
|
|
||||||
「FIX2INT()」または「FIX2LONG()」を使います.これらのマクロ
|
|
||||||
を使用する際には事前にデータタイプがFIXNUMであることを確認す
|
|
||||||
る必要がありますが,比較的高速に変換を行うことができます.ま
|
|
||||||
た,「FIX2LONG()」は例外を発生しませんが,「FIX2INT()」は変
|
|
||||||
換結果がintのサイズに収まらない場合には例外を発生します.
|
|
||||||
それから,FIXNUMに限らずRubyのデータを整数に変換する
|
|
||||||
「NUM2INT()」および「NUM2LONG()」というマクロがあります.こ
|
|
||||||
れらのマクロはマクロはデータタイプのチェック無しで使えます
|
|
||||||
(整数に変換できない場合には例外が発生する).同様にチェック無
|
|
||||||
で使える変換マクロはdoubleを取り出す「NUM2DBL()」があります.
|
|
||||||
|
|
||||||
char* を取り出す場合, StringValue() と StringValuePtr()
|
|
||||||
を使います.
|
|
||||||
StringValue(var) は var が String
|
|
||||||
であれば何もせず,そうでなければ var を var.to_str() の結果
|
|
||||||
に置き換えるマクロ,StringValuePtr(var) は同様に var を
|
|
||||||
String に置き換えてから var のバイト列表現に対する char* を
|
|
||||||
返すマクロです.var の内容を直接置き換える処理が入るので,
|
|
||||||
var は lvalue である必要があります.
|
|
||||||
また,StringValuePtr() に類似した StringValueCStr() というマ
|
|
||||||
クロもあります.StringValueCStr(var) は var を String に置き
|
|
||||||
換えてから var の文字列表現に対する char* を返します.返され
|
|
||||||
る文字列の末尾には nul 文字が付加されます.なお,途中に nul
|
|
||||||
文字が含まれる場合は ArgumentError が発生します.
|
|
||||||
一方,StringValuePtr() では,末尾に nul 文字がある保証はなく,
|
|
||||||
途中に nul 文字が含まれている可能性もあります.
|
|
||||||
|
|
||||||
それ以外のデータタイプは対応するCの構造体があります.対応す
|
|
||||||
る構造体のあるVALUEはそのままキャスト(型変換)すれば構造体の
|
|
||||||
ポインタに変換できます.
|
|
||||||
|
|
||||||
構造体は「struct RXxxxx」という名前でruby.hで定義されていま
|
|
||||||
す.例えば文字列は「struct RString」です.実際に使う可能性が
|
|
||||||
あるのは文字列と配列くらいだと思います.
|
|
||||||
|
|
||||||
ruby.hでは構造体へキャストするマクロも「RXXXXX()」(全部大文
|
|
||||||
字にしたもの)という名前で提供されています(例: RSTRING()).
|
|
||||||
|
|
||||||
構造体からデータを取り出すマクロが提供されています.文字列
|
|
||||||
strの長さを得るためには「RSTRING_LEN(str)」とし,文字列strを
|
|
||||||
char*として得るためには「RSTRING_PTR(str)」とします.配列の
|
|
||||||
場合には,それぞれ「RARRAY_LEN(ary)」,「RARRAY_PTR(ary)」と
|
|
||||||
なります.
|
|
||||||
|
|
||||||
Rubyの構造体を直接アクセスする時に気をつけなければならないこ
|
|
||||||
とは,配列や文字列の構造体の中身は参照するだけで,直接変更し
|
|
||||||
ないことです.直接変更した場合,オブジェクトの内容の整合性が
|
|
||||||
とれなくなって,思わぬバグの原因になります.
|
|
||||||
|
|
||||||
1.4 CのデータをVALUEに変換する
|
|
||||||
|
|
||||||
VALUEの実際の構造は
|
|
||||||
|
|
||||||
* FIXNUMの場合
|
|
||||||
|
|
||||||
1bit左シフトして,LSBを立てる.
|
|
||||||
|
|
||||||
* その他のポインタの場合
|
|
||||||
|
|
||||||
そのままVALUEにキャストする.
|
|
||||||
|
|
||||||
となっています.よって,LSBをチェックすればVALUEがFIXNUMかど
|
|
||||||
うかわかるわけです(ポインタのLSBが立っていないことを仮定して
|
|
||||||
いる).
|
|
||||||
|
|
||||||
ですから,FIXNUM以外のRubyのオブジェクトの構造体は単にVALUE
|
|
||||||
にキャストするだけでVALUEに変換出来ます.ただし,任意の構造
|
|
||||||
体がVALUEにキャスト出来るわけではありません.キャストするの
|
|
||||||
はRubyの知っている構造体(ruby.hで定義されているstruct RXxxx
|
|
||||||
のもの)だけです.
|
|
||||||
|
|
||||||
FIXNUMに関しては変換マクロを経由する必要があります.Cの整数
|
|
||||||
からVALUEに変換するマクロは以下のものがあります.必要に応じ
|
|
||||||
て使い分けてください.
|
|
||||||
|
|
||||||
INT2FIX() もとの整数が31bitまたは63bit以内に収まる自信
|
|
||||||
がある時
|
|
||||||
INT2NUM() 任意の整数からVALUEへ
|
|
||||||
|
|
||||||
INT2NUM()は整数がFIXNUMの範囲に収まらない場合,Bignumに変換
|
|
||||||
してくれます(が,少し遅い).
|
|
||||||
|
|
||||||
1.5 Rubyのデータを操作する
|
|
||||||
|
|
||||||
先程も述べた通り,Rubyの構造体をアクセスする時に内容の更新を
|
|
||||||
行うことは勧められません.で,Rubyのデータを操作する時には
|
|
||||||
Rubyが用意している関数を用いてください.
|
|
||||||
|
|
||||||
ここではもっとも使われるであろう文字列と配列の生成/操作を行
|
|
||||||
い関数をあげます(全部ではないです).
|
|
||||||
|
|
||||||
文字列に対する関数
|
|
||||||
=======
|
|
||||||
1.3 VALUEをCのデータに変換する
|
1.3 VALUEをCのデータに変換する
|
||||||
|
|
||||||
データタイプがT_NIL,T_FALSE,T_TRUEである時,データはそれぞ
|
データタイプがT_NIL,T_FALSE,T_TRUEである時,データはそれぞ
|
||||||
|
@ -300,7 +196,6 @@ Rubyが用意している関数を用いてください.
|
||||||
い関数をあげます(全部ではないです).
|
い関数をあげます(全部ではないです).
|
||||||
|
|
||||||
文字列に対する関数
|
文字列に対する関数
|
||||||
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
|
|
||||||
|
|
||||||
rb_str_new(const char *ptr, long len)
|
rb_str_new(const char *ptr, long len)
|
||||||
|
|
||||||
|
@ -347,15 +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)
|
||||||
<<<<<<< HEAD
|
|
||||||
|
|
||||||
指定されたエンコーディングでRubyの文字列を生成する.
|
|
||||||
|
|
||||||
=======
|
|
||||||
|
|
||||||
指定されたエンコーディングでRubyの文字列を生成する.
|
指定されたエンコーディングでRubyの文字列を生成する.
|
||||||
|
|
||||||
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
|
|
||||||
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)
|
||||||
|
|
||||||
|
@ -1130,13 +1019,8 @@ Rubyコマンドの実装
|
||||||
enc/*.c : エンコーディングクラス群
|
enc/*.c : エンコーディングクラス群
|
||||||
enc/trans/* : コードポイント対応表
|
enc/trans/* : コードポイント対応表
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
gorubyコマンドの実装
|
|
||||||
|
|
||||||
=======
|
|
||||||
gorubyコマンドの実装
|
gorubyコマンドの実装
|
||||||
|
|
||||||
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
|
|
||||||
goruby.c
|
goruby.c
|
||||||
golf_prelude.rb : goruby固有のライブラリ
|
golf_prelude.rb : goruby固有のライブラリ
|
||||||
-> golf_prelude.c : 自動生成
|
-> golf_prelude.c : 自動生成
|
||||||
|
@ -1296,21 +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)
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
メソッドを定義する.argcはselfを除く引数の数.argcが-1の時,
|
|
||||||
関数には引数の数(selfを含まない)を第1引数, 引数の配列を第2
|
|
||||||
引数とする形式で与えられる(第3引数はself).argcが-2の時,
|
|
||||||
第1引数がself, 第2引数がargs(argsは引数を含むRubyの配列)と
|
|
||||||
いう形式で与えられる.
|
|
||||||
|
|
||||||
=======
|
|
||||||
メソッドを定義する.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の配列)と
|
||||||
いう形式で与えられる.
|
いう形式で与えられる.
|
||||||
|
|
||||||
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
|
|
||||||
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()と同じ.
|
||||||
|
@ -1423,15 +1298,6 @@ 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)
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
func2をブロックとして設定し, func1をイテレータとして呼ぶ.
|
|
||||||
func1には arg1が引数として渡され, func2には第1引数にイテレー
|
|
||||||
タから与えられた値, 第2引数にarg2が渡される.
|
|
||||||
|
|
||||||
1.9でrb_iterateを使う場合は, func1の中でRubyレベルのメソッド
|
|
||||||
を呼び出さなければならない.
|
|
||||||
1.9でobsoleteとなった. 代わりにrb_block_callが用意された.
|
|
||||||
=======
|
|
||||||
func2をブロックとして設定し, func1をイテレータとして呼ぶ.
|
func2をブロックとして設定し, func1をイテレータとして呼ぶ.
|
||||||
func1には arg1が引数として渡され, func2には第1引数にイテレー
|
func1には arg1が引数として渡され, func2には第1引数にイテレー
|
||||||
タから与えられた値, 第2引数にarg2が渡される.
|
タから与えられた値, 第2引数にarg2が渡される.
|
||||||
|
@ -1439,7 +1305,6 @@ VALUE rb_block_call(VALUE obj, ID mid, int argc, VALUE * argv,
|
||||||
1.9でrb_iterateを使う場合は, func1の中でRubyレベルのメソッド
|
1.9でrb_iterateを使う場合は, func1の中でRubyレベルのメソッド
|
||||||
を呼び出さなければならない.
|
を呼び出さなければならない.
|
||||||
1.9でobsoleteとなった. 代わりにrb_block_callが用意された.
|
1.9でobsoleteとなった. 代わりにrb_block_callが用意された.
|
||||||
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
|
|
||||||
|
|
||||||
VALUE rb_yield(VALUE val)
|
VALUE rb_yield(VALUE val)
|
||||||
|
|
||||||
|
@ -1694,15 +1559,9 @@ dir_config(target[, default_include, default_lib])
|
||||||
|
|
||||||
pkg_config(pkg)
|
pkg_config(pkg)
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
pkg-configコマンドからパッケージpkgの情報を得る.
|
|
||||||
pkg-configの実際のコマンド名は,--with-pkg-configコマンド
|
|
||||||
ラインオプションで指定可能.
|
|
||||||
=======
|
|
||||||
pkg-configコマンドからパッケージpkgの情報を得る.
|
pkg-configコマンドからパッケージpkgの情報を得る.
|
||||||
pkg-configの実際のコマンド名は,--with-pkg-configコマンド
|
pkg-configの実際のコマンド名は,--with-pkg-configコマンド
|
||||||
ラインオプションで指定可能.
|
ラインオプションで指定可能.
|
||||||
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Local variables:
|
* Local variables:
|
||||||
|
|
14
README.ja
14
README.ja
|
@ -61,13 +61,8 @@ Rubyのメーリングリストがあります。参加希望の方は
|
||||||
まで本文に
|
まで本文に
|
||||||
|
|
||||||
subscribe YourFirstName YourFamilyName
|
subscribe YourFirstName YourFamilyName
|
||||||
<<<<<<< HEAD
|
|
||||||
|
|
||||||
と書いて送って下さい。
|
|
||||||
=======
|
|
||||||
|
|
||||||
と書いて送って下さい。
|
と書いて送って下さい。
|
||||||
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
|
|
||||||
|
|
||||||
Ruby開発者向けメーリングリストもあります。こちらではrubyのバ
|
Ruby開発者向けメーリングリストもあります。こちらではrubyのバ
|
||||||
グ、将来の仕様拡張など実装上の問題について議論されています。
|
グ、将来の仕様拡張など実装上の問題について議論されています。
|
||||||
|
@ -75,21 +70,12 @@ Ruby開発者向けメーリングリストもあります。こちらではruby
|
||||||
|
|
||||||
ruby-dev-ctl@ruby-lang.org
|
ruby-dev-ctl@ruby-lang.org
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
までruby-listと同様の方法でメールしてください。
|
|
||||||
|
|
||||||
Ruby拡張モジュールについて話し合うruby-extメーリングリストと
|
|
||||||
数学関係の話題について話し合うruby-mathメーリングリストと
|
|
||||||
英語で話し合うruby-talkメーリングリストもあります。参加方法
|
|
||||||
はどれも同じです。
|
|
||||||
=======
|
|
||||||
までruby-listと同様の方法でメールしてください。
|
までruby-listと同様の方法でメールしてください。
|
||||||
|
|
||||||
Ruby拡張モジュールについて話し合うruby-extメーリングリストと
|
Ruby拡張モジュールについて話し合うruby-extメーリングリストと
|
||||||
数学関係の話題について話し合うruby-mathメーリングリストと
|
数学関係の話題について話し合うruby-mathメーリングリストと
|
||||||
英語で話し合うruby-talkメーリングリストもあります。参加方法
|
英語で話し合うruby-talkメーリングリストもあります。参加方法
|
||||||
はどれも同じです。
|
はどれも同じです。
|
||||||
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
|
|
||||||
|
|
||||||
|
|
||||||
* コンパイル・インストール
|
* コンパイル・インストール
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue