Skip to content

Commit 48cd6cb

Browse files
committed
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
1 parent 75c4253 commit 48cd6cb

File tree

3 files changed

+4
-155
lines changed

3 files changed

+4
-155
lines changed

ChangeLog

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
Mon Sep 5 10:04:35 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com>
2+
3+
* README.ja, README.EXT.ja: resolve conflicts. [ruby-dev:44459]
4+
15
Mon Sep 5 05:13:22 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
26

37
* numeric.c (flo_round): Make Float#round round big values [bug

README.EXT.ja

-141
Original file line numberDiff line numberDiff line change
@@ -94,110 +94,6 @@ FIXNUMとNILに関してはより高速な判別マクロが用意されてい
9494
FIXNUM_P(obj)
9595
NIL_P(obj)
9696

97-
<<<<<<< HEAD
98-
1.3 VALUEをCのデータに変換する
99-
100-
データタイプがT_NIL,T_FALSE,T_TRUEである時,データはそれぞ
101-
れnil,false,trueです.このデータタイプのオブジェクトはひと
102-
つずつしか存在しません.
103-
104-
データタイプがT_FIXNUMの時,これは31bitまたは63bitのサイズを
105-
持つ整数です.longのサイズが32bitのプラットフォームであれば
106-
31bitに,longのサイズが64bitのプラットフォームであれば63bit
107-
になります. FIXNUM を C の整数に変換するためにはマクロ
108-
「FIX2INT()」または「FIX2LONG()」を使います.これらのマクロ
109-
を使用する際には事前にデータタイプがFIXNUMであることを確認す
110-
る必要がありますが,比較的高速に変換を行うことができます.ま
111-
た,「FIX2LONG()」は例外を発生しませんが,「FIX2INT()」は変
112-
換結果がintのサイズに収まらない場合には例外を発生します.
113-
それから,FIXNUMに限らずRubyのデータを整数に変換する
114-
「NUM2INT()」および「NUM2LONG()」というマクロがあります.こ
115-
れらのマクロはマクロはデータタイプのチェック無しで使えます
116-
(整数に変換できない場合には例外が発生する).同様にチェック無
117-
で使える変換マクロはdoubleを取り出す「NUM2DBL()」があります.
118-
119-
char* を取り出す場合, StringValue() と StringValuePtr()
120-
を使います.
121-
StringValue(var) は var が String
122-
であれば何もせず,そうでなければ var を var.to_str() の結果
123-
に置き換えるマクロ,StringValuePtr(var) は同様に var を
124-
String に置き換えてから var のバイト列表現に対する char* を
125-
返すマクロです.var の内容を直接置き換える処理が入るので,
126-
var は lvalue である必要があります.
127-
また,StringValuePtr() に類似した StringValueCStr() というマ
128-
クロもあります.StringValueCStr(var) は var を String に置き
129-
換えてから var の文字列表現に対する char* を返します.返され
130-
る文字列の末尾には nul 文字が付加されます.なお,途中に nul
131-
文字が含まれる場合は ArgumentError が発生します.
132-
一方,StringValuePtr() では,末尾に nul 文字がある保証はなく,
133-
途中に nul 文字が含まれている可能性もあります.
134-
135-
それ以外のデータタイプは対応するCの構造体があります.対応す
136-
る構造体のあるVALUEはそのままキャスト(型変換)すれば構造体の
137-
ポインタに変換できます.
138-
139-
構造体は「struct RXxxxx」という名前でruby.hで定義されていま
140-
す.例えば文字列は「struct RString」です.実際に使う可能性が
141-
あるのは文字列と配列くらいだと思います.
142-
143-
ruby.hでは構造体へキャストするマクロも「RXXXXX()」(全部大文
144-
字にしたもの)という名前で提供されています(例: RSTRING()).
145-
146-
構造体からデータを取り出すマクロが提供されています.文字列
147-
strの長さを得るためには「RSTRING_LEN(str)」とし,文字列strを
148-
char*として得るためには「RSTRING_PTR(str)」とします.配列の
149-
場合には,それぞれ「RARRAY_LEN(ary)」,「RARRAY_PTR(ary)」と
150-
なります.
151-
152-
Rubyの構造体を直接アクセスする時に気をつけなければならないこ
153-
とは,配列や文字列の構造体の中身は参照するだけで,直接変更し
154-
ないことです.直接変更した場合,オブジェクトの内容の整合性が
155-
とれなくなって,思わぬバグの原因になります.
156-
157-
1.4 CのデータをVALUEに変換する
158-
159-
VALUEの実際の構造は
160-
161-
* FIXNUMの場合
162-
163-
1bit左シフトして,LSBを立てる.
164-
165-
* その他のポインタの場合
166-
167-
そのままVALUEにキャストする.
168-
169-
となっています.よって,LSBをチェックすればVALUEがFIXNUMかど
170-
うかわかるわけです(ポインタのLSBが立っていないことを仮定して
171-
いる).
172-
173-
ですから,FIXNUM以外のRubyのオブジェクトの構造体は単にVALUE
174-
にキャストするだけでVALUEに変換出来ます.ただし,任意の構造
175-
体がVALUEにキャスト出来るわけではありません.キャストするの
176-
はRubyの知っている構造体(ruby.hで定義されているstruct RXxxx
177-
のもの)だけです.
178-
179-
FIXNUMに関しては変換マクロを経由する必要があります.Cの整数
180-
からVALUEに変換するマクロは以下のものがあります.必要に応じ
181-
て使い分けてください.
182-
183-
INT2FIX() もとの整数が31bitまたは63bit以内に収まる自信
184-
がある時
185-
INT2NUM() 任意の整数からVALUEへ
186-
187-
INT2NUM()は整数がFIXNUMの範囲に収まらない場合,Bignumに変換
188-
してくれます(が,少し遅い).
189-
190-
1.5 Rubyのデータを操作する
191-
192-
先程も述べた通り,Rubyの構造体をアクセスする時に内容の更新を
193-
行うことは勧められません.で,Rubyのデータを操作する時には
194-
Rubyが用意している関数を用いてください.
195-
196-
ここではもっとも使われるであろう文字列と配列の生成/操作を行
197-
い関数をあげます(全部ではないです).
198-
199-
文字列に対する関数
200-
=======
20197
1.3 VALUEをCのデータに変換する
20298

20399
データタイプがT_NIL,T_FALSE,T_TRUEである時,データはそれぞ
@@ -300,7 +196,6 @@ Rubyが用意している関数を用いてください.
300196
い関数をあげます(全部ではないです).
301197

302198
文字列に対する関数
303-
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
304199

305200
rb_str_new(const char *ptr, long len)
306201

@@ -347,15 +242,9 @@ Rubyが用意している関数を用いてください.
347242
rb_str_cat2(str, rb_vsprintf(format, ap)) と同等である.
348243

349244
rb_enc_str_new(const char *ptr, long len, rb_encoding *enc)
350-
<<<<<<< HEAD
351-
352-
指定されたエンコーディングでRubyの文字列を生成する.
353-
354-
=======
355245

356246
指定されたエンコーディングでRubyの文字列を生成する.
357247

358-
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
359248
rb_usascii_str_new(const char *ptr, long len)
360249
rb_usascii_str_new_cstr(const char *ptr)
361250

@@ -1130,13 +1019,8 @@ Rubyコマンドの実装
11301019
enc/*.c : エンコーディングクラス群
11311020
enc/trans/* : コードポイント対応表
11321021

1133-
<<<<<<< HEAD
1134-
gorubyコマンドの実装
1135-
1136-
=======
11371022
gorubyコマンドの実装
11381023

1139-
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
11401024
goruby.c
11411025
golf_prelude.rb : goruby固有のライブラリ
11421026
-> golf_prelude.c : 自動生成
@@ -1296,21 +1180,12 @@ void rb_define_global_const(const char *name, VALUE val)
12961180

12971181
rb_define_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
12981182

1299-
<<<<<<< HEAD
1300-
メソッドを定義する.argcはselfを除く引数の数.argcが-1の時,
1301-
関数には引数の数(selfを含まない)を第1引数, 引数の配列を第2
1302-
引数とする形式で与えられる(第3引数はself).argcが-2の時,
1303-
第1引数がself, 第2引数がargs(argsは引数を含むRubyの配列)と
1304-
いう形式で与えられる.
1305-
1306-
=======
13071183
メソッドを定義する.argcはselfを除く引数の数.argcが-1の時,
13081184
関数には引数の数(selfを含まない)を第1引数, 引数の配列を第2
13091185
引数とする形式で与えられる(第3引数はself).argcが-2の時,
13101186
第1引数がself, 第2引数がargs(argsは引数を含むRubyの配列)と
13111187
いう形式で与えられる.
13121188

1313-
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
13141189
rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(), int argc)
13151190

13161191
privateメソッドを定義する.引数はrb_define_method()と同じ.
@@ -1423,23 +1298,13 @@ VALUE rb_block_call(VALUE obj, ID mid, int argc, VALUE * argv,
14231298

14241299
[OBSOLETE] VALUE rb_iterate(VALUE (*func1)(), VALUE arg1, VALUE (*func2)(), VALUE arg2)
14251300

1426-
<<<<<<< HEAD
1427-
func2をブロックとして設定し, func1をイテレータとして呼ぶ.
1428-
func1には arg1が引数として渡され, func2には第1引数にイテレー
1429-
タから与えられた値, 第2引数にarg2が渡される.
1430-
1431-
1.9でrb_iterateを使う場合は, func1の中でRubyレベルのメソッド
1432-
を呼び出さなければならない.
1433-
1.9でobsoleteとなった. 代わりにrb_block_callが用意された.
1434-
=======
14351301
func2をブロックとして設定し, func1をイテレータとして呼ぶ.
14361302
func1には arg1が引数として渡され, func2には第1引数にイテレー
14371303
タから与えられた値, 第2引数にarg2が渡される.
14381304

14391305
1.9でrb_iterateを使う場合は, func1の中でRubyレベルのメソッド
14401306
を呼び出さなければならない.
14411307
1.9でobsoleteとなった. 代わりにrb_block_callが用意された.
1442-
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
14431308

14441309
VALUE rb_yield(VALUE val)
14451310

@@ -1694,15 +1559,9 @@ dir_config(target[, default_include, default_lib])
16941559

16951560
pkg_config(pkg)
16961561

1697-
<<<<<<< HEAD
1698-
pkg-configコマンドからパッケージpkgの情報を得る.
1699-
pkg-configの実際のコマンド名は,--with-pkg-configコマンド
1700-
ラインオプションで指定可能.
1701-
=======
17021562
pkg-configコマンドからパッケージpkgの情報を得る.
17031563
pkg-configの実際のコマンド名は,--with-pkg-configコマンド
17041564
ラインオプションで指定可能.
1705-
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
17061565

17071566
/*
17081567
* Local variables:

README.ja

-14
Original file line numberDiff line numberDiff line change
@@ -61,35 +61,21 @@ Rubyのメーリングリストがあります。参加希望の方は
6161
まで本文に
6262

6363
subscribe YourFirstName YourFamilyName
64-
<<<<<<< HEAD
65-
66-
と書いて送って下さい。
67-
=======
6864

6965
と書いて送って下さい。
70-
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
7166

7267
Ruby開発者向けメーリングリストもあります。こちらではrubyのバ
7368
グ、将来の仕様拡張など実装上の問題について議論されています。
7469
参加希望の方は
7570

7671
ruby-dev-ctl@ruby-lang.org
7772

78-
<<<<<<< HEAD
79-
までruby-listと同様の方法でメールしてください。
80-
81-
Ruby拡張モジュールについて話し合うruby-extメーリングリストと
82-
数学関係の話題について話し合うruby-mathメーリングリストと
83-
英語で話し合うruby-talkメーリングリストもあります。参加方法
84-
はどれも同じです。
85-
=======
8673
までruby-listと同様の方法でメールしてください。
8774

8875
Ruby拡張モジュールについて話し合うruby-extメーリングリストと
8976
数学関係の話題について話し合うruby-mathメーリングリストと
9077
英語で話し合うruby-talkメーリングリストもあります。参加方法
9178
はどれも同じです。
92-
>>>>>>> Change encoding from EUC-JP to UTF-8. [Feature #5128]
9379

9480

9581
* コンパイル・インストール

0 commit comments

Comments
 (0)