Skip to content

Instantly share code, notes, and snippets.

@r7kamura
Created November 10, 2018 14:29
Show Gist options
  • Save r7kamura/eea84464aa71e921755d1e006251e48d to your computer and use it in GitHub Desktop.
Save r7kamura/eea84464aa71e921755d1e006251e48d to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
commit 78842a4c6617fa5b244758362f5e154600faf3ef
Author: r7kamura <r7kamura@gmail.com>
Date: Sat Nov 10 23:27:26 2018 +0900
WIP
diff --git a/faq/block.rd b/faq/block.rd
index 0fd28605..6f2e1526 100644
--- a/faq/block.rd
+++ b/faq/block.rd
@@ -11,8 +11,7 @@
ブロックや手続きオブジェクトを活用するメソッドをブロック付きメソッド呼び出しと呼びます。
-制御構造(特にループ)の抽象化のために用いられたため、イテレータと呼ばれることもありますが、
-単なるブロックの呼び出しなどiterate(繰り返し)を行わないような場合でも活用できます。
+制御構造(特にループ)の抽象化のために用いられたため、イテレータと呼ばれることもありますが、単なるブロックの呼び出しなどiterate(繰り返し)を行わないような場合でも活用できます。
下記はイテレータとして作成されたメソッドを使用したケースです。
@@ -28,8 +27,7 @@
2
3
-つまり(({do}))と(({end}))で囲まれたブロックがメソッドに渡され、メソッド内で使用されます。
-メソッドeachはブロックをdataの各要素に対して繰り返し適用します。
+つまり(({do}))と(({end}))で囲まれたブロックがメソッドに渡され、メソッド内で使用されます。メソッドeachはブロックをdataの各要素に対して繰り返し適用します。
これをCで書くと次のようになります。
@@ -39,9 +37,7 @@
printf("%d\n", data[i]);
}
-(({for}))を使って書いた場合は繰り返し処理を自分で処理しなくてはなりませんが、
-ブロック付きメソッド呼び出しの場合はメソッド側で処理するため、境界条件の判定ミスで
-バグが生まれる可能性が減少します。
+(({for}))を使って書いた場合は繰り返し処理を自分で処理しなくてはなりませんが、ブロック付きメソッド呼び出しの場合はメソッド側で処理するため、境界条件の判定ミスでバグが生まれる可能性が減少します。
また、(({do}))...(({end}))の代わりに(({{}))...(({}}))を使うこともできます。
@@ -61,25 +57,18 @@
== 3.2 ブロック付きメソッドにブロックを渡すにはどうすればいいですか
-ブロック付きメソッドにブロックを渡すには、メソッドの後ろにブロックを置く
-方法の他に、手続きオブジェクト(を指す変数、定数)の前に&を
-つけて引数として渡す方法があります。
+ブロック付きメソッドにブロックを渡すには、メソッドの後ろにブロックを置く方法の他に、手続きオブジェクト(を指す変数、定数)の前に&をつけて引数として渡す方法があります。
== 3.3 ブロックは呼び出したメソッドの中からどのように使われますか
メソッドの中からブロックを使用するには、(({yield}))制御構造、ブロック引数、
-(({Proc.new}))の3種類の方法で行うことができます。( Cで書かれた拡張ライブラリ
-の中では、(({rb_yield}))が使われます。)
+(({Proc.new}))の3種類の方法で行うことができます。( Cで書かれた拡張ライブラリの中では、(({rb_yield}))が使われます。)
-(({yield}))の場合には、(({yield}))の後ろに続く引数が、ブロック
-パラメータとしてブロックに渡され、ブロックが実行されます。
+(({yield}))の場合には、(({yield}))の後ろに続く引数が、ブロックパラメータとしてブロックに渡され、ブロックが実行されます。
-ブロック引数は、メソッド定義の引数の最後に(({&method}))という形で
-置かれ、メソッドの中で、(({method.call(args...)}))という形で呼ばれます。
+ブロック引数は、メソッド定義の引数の最後に(({&method}))という形で置かれ、メソッドの中で、(({method.call(args...)}))という形で呼ばれます。
-(({Proc.new}))は、メソッドの中で使われたときには、引数としてそのメソッドに
-渡されたブロックをとり、そのブロックを内容とする手続きオブジェクトを
-生成します。(({proc}))または(({lamda}))も同様です。
+(({Proc.new}))は、メソッドの中で使われたときには、引数としてそのメソッドに渡されたブロックをとり、そのブロックを内容とする手続きオブジェクトを生成します。(({proc}))または(({lamda}))も同様です。
def a (&b)
@@ -93,7 +82,4 @@
== 3.4 (({Proc.new}))では手続きオブジェクトが作られませんが
-(({Proc.new}))は、ブロックを与えられないと手続きオブジェクトを生成できず、
-エラーになります。メソッド定義の中で
-使われるブロックなしの(({Proc.new}))は、メソッド呼び出しにブロックが与えられて
-いることを仮定しています。
+(({Proc.new}))は、ブロックを与えられないと手続きオブジェクトを生成できず、エラーになります。メソッド定義の中で使われるブロックなしの(({Proc.new}))は、メソッド呼び出しにブロックが与えられていることを仮定しています。
diff --git a/faq/builtin.rd b/faq/builtin.rd
index a5e0502b..5a2987a2 100644
--- a/faq/builtin.rd
+++ b/faq/builtin.rd
@@ -38,8 +38,7 @@
(({klass})).((<instance_methods|Module>)) は、あるクラス(またはモジュール)
(({klass})) で定義されたインスタンスメソッドだけを返しますが、
-(({klass})).((<instance_methods(true)|Module>)) は、
-スーパークラスから引き継いだものも含めてすべてのインスタンスメソッドを返します。
+(({klass})).((<instance_methods(true)|Module>)) は、スーパークラスから引き継いだものも含めてすべてのインスタンスメソッドを返します。
(ただし、public メソッドのみ)
((<private_instance_methods|Module>))、
@@ -49,10 +48,7 @@
== 7.2 (({rand}))がいつも同じ乱数列を出しますが
-((*ruby 1.4.2以前*))では(({rand}))は、プログラムが実行される度に同じ乱数列を生成します。
-異なる乱数列を生成させるためには、(({srand}))で毎回異なる乱数の
-種を与えてやる必要があります。srandを引数なしで呼ぶと、その時の
-時間を種にしますので、異なる乱数列を生成させることができます。
+((*ruby 1.4.2以前*))では(({rand}))は、プログラムが実行される度に同じ乱数列を生成します。異なる乱数列を生成させるためには、(({srand}))で毎回異なる乱数の種を与えてやる必要があります。srandを引数なしで呼ぶと、その時の時間を種にしますので、異なる乱数列を生成させることができます。
== 7.3 0から51の中から重複のない5つをランダムに選ぶにはどうしますか
@@ -82,12 +78,9 @@
== 7.4 ((<Fixnum>))、((<Symbol>))、(({true}))、(({nil}))、(({false}))が即値だということですが、参照との違いは何ですか
特異メソッドを定義できないという制限があります。
-((-((<ruby 1.6 feature>)): true/false/nil に対しては version 1.6 からは定
-義できます。-))
+((-((<ruby 1.6 feature>)): true/false/nil に対しては version 1.6 からは定義できます。-))
-また、同じ数を表わす((<Fixnum>))のインスタンスは常に同じものになります
-ので、インスタンス変数を定義した場合には、それも同じものを示すことにな
-ります。
+また、同じ数を表わす((<Fixnum>))のインスタンスは常に同じものになりますので、インスタンス変数を定義した場合には、それも同じものを示すことになります。
== 7.5 (({nil}))と(({false}))はどう違いますか
@@ -97,20 +90,16 @@
# ハッシュでは、(({nil}))を値として持つことができませんが、
# (({false}))を持つことはできます。
-メソッドが真偽を返す時は、(({true}))、(({false}))を、そうでない
-時は値か(({nil}))を返すようにすることが好まれます。
+メソッドが真偽を返す時は、(({true}))、(({false}))を、そうでない時は値か(({nil}))を返すようにすることが好まれます。
-(({?}))のつくメソッドは、真偽を返すのが一般的ですが、
-そうでないものもあります(組み込みでは ((<Numeric/nonzero?>)) のみ)。
+(({?}))のつくメソッドは、真偽を返すのが一般的ですが、そうでないものもあります(組み込みでは ((<Numeric/nonzero?>)) のみ)。
== 7.6 ファイルを読み込んで書き換えても変化しません
open("example", "r+").readlines.each_with_index{|l, i|
l[0,0] = (i+1).to_s + ": "}
-とやっても、(({example}))に行番号がつきません。
-ファイルを書き換えているのではなく、(({readlines}))で読み込んだ文字列を
-変えているだけです。ファイルに書き戻してやらなければいけません。
+とやっても、(({example}))に行番号がつきません。ファイルを書き換えているのではなく、(({readlines}))で読み込んだ文字列を変えているだけです。ファイルに書き戻してやらなければいけません。
io = open("example", "r+")
ary = io.readlines
@@ -119,8 +108,7 @@
io.print ary
io.close
-この例の場合、ファイルサイズは増える方向なので問題ないのですが
-ファイルサイズが小さくなるような変更に対しては
+この例の場合、ファイルサイズは増える方向なので問題ないのですがファイルサイズが小さくなるような変更に対しては
io.flush
io.truncate(io.pos)
を io.close の直前に実行する必要があります。
@@ -141,8 +129,7 @@
open('file', 'w').print "This is a file.\n"
system 'cp file copy'
-とやったのでは、コピーする時に(({file}))に内容がフラッシュされて
-いません。きちんと(({close}))してからコピーしましょう。
+とやったのでは、コピーする時に(({file}))に内容がフラッシュされていません。きちんと(({close}))してからコピーしましょう。
f = open('file', 'w')
f.print "This is a file.\n"
@@ -166,13 +153,11 @@
== 7.10 参照されない((<File>))オブジェクトはどうなりますか
(({open("file").read}))というように参照されない((<File>))
-オブジェクトは、次のガーベッジコレクションで(({close}))されて
-捨てられます。
+オブジェクトは、次のガーベッジコレクションで(({close}))されて捨てられます。
== 7.11 ファイルを(({close}))しないのは気持ちが悪いのですが
-参照されなくなった((<File>))オブジェクトは、GCで自動的にクローズ
-されますが、明示的にクローズするには、次の4つの構文から選んで下さい
+参照されなくなった((<File>))オブジェクトは、GCで自動的にクローズされますが、明示的にクローズするには、次の4つの構文から選んで下さい
(コードの長さ順に並べました)。
(1) (({ }))
@@ -196,17 +181,13 @@
Dir.glob("*").collect{|f| [File.mtime(f), f] }.
sort{|a,b| b[0]<=>a[0] }.collect{|e| e[1] }
-とすると、カレントディレクトリの"."、".."以外のファイルを更新時間の
-新しい順にソートした配列を返します。更新時間の古い順にソートする
-なら、sortの後ろのブロックはなしにしても、いいですね。
+とすると、カレントディレクトリの"."、".."以外のファイルを更新時間の新しい順にソートした配列を返します。更新時間の古い順にソートするなら、sortの後ろのブロックはなしにしても、いいですね。
Dir.glob("*").sort{|a,b| File.mtime(b)<=>File.mtime(a)}
-でもソートすることができますが、比較する度にファイルにアクセスして
-更新時間を調べますので、ソートするのに時間がかかります。
+でもソートすることができますが、比較する度にファイルにアクセスして更新時間を調べますので、ソートするのに時間がかかります。
-この問題を解決するもう一つの方法に個々のファイルの更新時間を
-キャッシュするオブジェクトを用意する方法があります。
+この問題を解決するもう一つの方法に個々のファイルの更新時間をキャッシュするオブジェクトを用意する方法があります。
cache = {}
def cache.mtime(x)
@@ -230,8 +211,7 @@
== 7.14 条件に文字列を使ったとき、文字列が空("")の時にも(({true}))になります
-Rubyでは、(({nil}))と(({false}))だけが偽で、それ以外はすべて真に
-なります。文字列が空かどうかを知るには、""と比較、(({empty?}))を使う、
+Rubyでは、(({nil}))と(({false}))だけが偽で、それ以外はすべて真になります。文字列が空かどうかを知るには、""と比較、(({empty?}))を使う、
(({length}))を(({0}))と比較するなどの方法があります。
== 7.15 英語文字列の配列を辞書順にソートしたいのですが
@@ -243,8 +223,7 @@ tipsです。
== 7.16 (({"abcd"[0]}))は、何を返しますか
-文字aのコード97(Fixnum)を返します。これが文字aと一致するかどうか
-調べるには、?aと比較します。
+文字aのコード97(Fixnum)を返します。これが文字aと一致するかどうか調べるには、?aと比較します。
== 7.17 タブをスペースに展開したいのですが
@@ -270,27 +249,20 @@ tipsです。
正規表現の場合は
(({Regexp.quote('\\')}))でエスケープできます。
-(({gsub}))を使う場合には、(({gsub(/\\/, '\\\\')}))では、置換文字列が
-構文解析で一度'\\'に変換され、実際に置き換えるときにもう一度'\'と
-解釈されるので、
-(({gsub(/\\/, '\\\\\\')}))とする必要があります。\&がマッチ文字列を
-あらわすことを使えば、(({gsub(/\\/,'\&\&')}))と書けます。
+(({gsub}))を使う場合には、(({gsub(/\\/, '\\\\')}))では、置換文字列が構文解析で一度'\\'に変換され、実際に置き換えるときにもう一度'\'と解釈されるので、
+(({gsub(/\\/, '\\\\\\')}))とする必要があります。\&がマッチ文字列をあらわすことを使えば、(({gsub(/\\/,'\&\&')}))と書けます。
-(({gsub(/\\/){'\\\\'}}))とブロックを使う形にすれば、エスケープが1回しか
-解釈されませんので、求める結果が得られます。
+(({gsub(/\\/){'\\\\'}}))とブロックを使う形にすれば、エスケープが1回しか解釈されませんので、求める結果が得られます。
== 7.19 (({sub}))と(({sub!}))はどう違うのですか
-(({sub}))の場合はレシーバの状態は変化しません。文字列のコピーが
-作られ、それに置換がほどこされて(置換が必要なければそのまま)返されます。
+(({sub}))の場合はレシーバの状態は変化しません。文字列のコピーが作られ、それに置換がほどこされて(置換が必要なければそのまま)返されます。
(({sub!}))ではレシーバそのものが変更されます。変更がない時には
(({nil}))が返されます。
(({sub!}))のようにレシーバの状態を変化させるメソッドを
-((<破壊的メソッド|FAQ::メソッド>))と
-呼びます。Rubyでは同名のメソッドで破壊的なものとそうでないものがある場
-合、破壊的なメソッドには慣例的に(({!}))をつけます。
+((<破壊的メソッド|FAQ::メソッド>))と呼びます。Rubyでは同名のメソッドで破壊的なものとそうでないものがある場合、破壊的なメソッドには慣例的に(({!}))をつけます。
def foo(str)
str = str.sub(/foo/, "baz")
@@ -309,8 +281,7 @@ tipsです。
print obj
#=> "baz"
-(({sub!}))のように破壊的なメソッドは予期しない効果をもたらすことがある
-ので、使用する場合は十分注意してください。
+(({sub!}))のように破壊的なメソッドは予期しない効果をもたらすことがあるので、使用する場合は十分注意してください。
== 7.20 \Zのマッチする場所はどこですか
@@ -325,11 +296,9 @@ tipsです。
== 7.22 関数ポインタはありますか
-(({Proc.new}))、(({proc}))、(({lambda}))でProcオブジェクトを作れば、
-関数ポインタのような働きをさせることができます。
+(({Proc.new}))、(({proc}))、(({lambda}))でProcオブジェクトを作れば、関数ポインタのような働きをさせることができます。
-また、((<Method>))オブジェクトや((<UnboundMethod>))オブジェクトも関数
-ポインタに近いものです。
+また、((<Method>))オブジェクトや((<UnboundMethod>))オブジェクトも関数ポインタに近いものです。
== 7.23 スレッドとプロセスのフォークはどう使い分けるのですか
@@ -341,42 +310,31 @@ tipsです。
* Rubyスレッドは、なんらかの理由でブロックすると全体が止まる (non preemptive)
* Rubyスレッドはスラッシング (※) が起きない
-※ スラッシングとは、プロセスやスレッドが多くなりすぎたときに、
-切り替え処理に時間がかかりすぎて本来の処理が行われなくなってしまう
-ことを言います。
+※ スラッシングとは、プロセスやスレッドが多くなりすぎたときに、切り替え処理に時間がかかりすぎて本来の処理が行われなくなってしまうことを言います。
一般に、プロセスフォークとスレッドは混ぜて使うべきではありません。
-またRubyのスレッドはタイムシェアリング方式なので、スレッドを使う
-ことによって処理が速くなることはまずありません。またユーザレベル
-スレッドなのでマルチプロセッサの恩恵も受けられません。
+またRubyのスレッドはタイムシェアリング方式なので、スレッドを使うことによって処理が速くなることはまずありません。またユーザレベルスレッドなのでマルチプロセッサの恩恵も受けられません。
== 7.24 Marshalの使い方を教えてください
-オブジェクトをバイト列に変換する (シリアライズ serialize する) ための
-ものです。オブジェクトをファイルに保存しておいて後から復活させたり、
-ネットワーク経由で転送することができるようになります。例えばオブ
-ジェクトobjをバイト列にするには
+オブジェクトをバイト列に変換する (シリアライズ serialize する) ためのものです。オブジェクトをファイルに保存しておいて後から復活させたり、ネットワーク経由で転送することができるようになります。例えばオブジェクトobjをバイト列にするには
Marshal.dump(obj)
-とします。このメソッドは文字列を返すので、次のように普通にファイルを
-使って書き込めます。
+とします。このメソッドは文字列を返すので、次のように普通にファイルを使って書き込めます。
File.open('filename', 'w') {|f|
f.write Marshal.dump(obj)
}
-このようにバイト列化したオブジェクトをファイルに書き込むことはよく
-あるので、以下のような簡約表現も用意されています。
+このようにバイト列化したオブジェクトをファイルに書き込むことはよくあるので、以下のような簡約表現も用意されています。
Marshal.dump(obj, io)
-ioには書き込み可能なIOオブジェクトです。またこの形式だと大きなオブ
-ジェクトをバイト列化するときでも巨大な文字列を作らずに済みます。
+ioには書き込み可能なIOオブジェクトです。またこの形式だと大きなオブジェクトをバイト列化するときでも巨大な文字列を作らずに済みます。
-一方、バイト列化したオブジェクトを再生するには次のようにします。
-まずは文字列から戻す場合です。
+一方、バイト列化したオブジェクトを再生するには次のようにします。まずは文字列から戻す場合です。
obj = Marshal.load(str)
@@ -398,19 +356,15 @@ ioには書き込み可能なIOオブジェクトです。またこの形式だ
(必ず実行したい処理)
end
-(({begin}))節で例外が発生すると(({rescue}))節が実行されます。
-例外が発生しなければ(({else}))が実行されます。
+(({begin}))節で例外が発生すると(({rescue}))節が実行されます。例外が発生しなければ(({else}))が実行されます。
(({ensure}))節は例外が発生してもしなくても必ず実行されます。(({rescue})),
(({else})),(({ensure}))節はそれぞれ省略できます。
-(({rescue}))の後ろに例外クラスが
-指定されなかった場合は
-((<StandardError>))が指定されたものとみなされ、((<StandardError>))の
-サブクラスである例外が捕捉されます。
+(({rescue}))の後ろに例外クラスが指定されなかった場合は
+((<StandardError>))が指定されたものとみなされ、((<StandardError>))のサブクラスである例外が捕捉されます。
この式の値は、(({ensure})) 節を実行する直前の値です。
-最後に起こった例外はグローバル変数(({$!}))により参照できます。
-発生した例外の種類は(({$!.class}))により調べることができます。
+最後に起こった例外はグローバル変数(({$!}))により参照できます。発生した例外の種類は(({$!.class}))により調べることができます。
== 7.26 (({trap}))はどのように使いますか
@@ -430,8 +384,7 @@ ioには書き込み可能なIOオブジェクトです。またこの形式だ
array という配列があった場合、
h = Hash[*array]
とすれば、array の奇数番目の値をキー、偶数番目の値を値とした
-h というハッシュが作られます。このとき array の要素は偶数個
-でなければいけません。
+h というハッシュが作られます。このとき array の要素は偶数個でなければいけません。
array = [1,2,3,4]
h = Hash[*array]
@@ -439,13 +392,11 @@ h というハッシュが作られます。このとき array の要素は偶
=> {1=>2, 3=>4}
-なお、arrayの前の「*」は、メソッド呼び出しのところで紹介されている、
-引数の展開用の記号です。
+なお、arrayの前の「*」は、メソッド呼び出しのところで紹介されている、引数の展開用の記号です。
== 7.29 文字列からArrayを作るのは %w(...) でできますが、同じように文字列からHashを作るにはどうすればよいですか
-Arrayのように直接Hashを作るリテラルはありません。
-そのかわり、
+Arrayのように直接Hashを作るリテラルはありません。そのかわり、
p h = Hash[*%w(1 foo 2 bar)]
@@ -456,8 +407,7 @@ Arrayのように直接Hashを作るリテラルはありません。
== 7.30 例外 NameError が捕捉できません
-以下のコードは、バージョン 1.4 以前には rescue 節がちゃんと実行されて
-いましたが、バージョン 1.6 ではできなくなっています。
+以下のコードは、バージョン 1.4 以前には rescue 節がちゃんと実行されていましたが、バージョン 1.6 ではできなくなっています。
begin
foo
@@ -468,10 +418,8 @@ Arrayのように直接Hashを作るリテラルはありません。
-:2: undefined local variable or method `foo' for #<Object:0x401bece0> (NameError)
ruby 1.6.7 (2002-03-20) [i586-linux]
-これは、例外クラス ((<NameError>)) が ((<StandardError>)) のサブクラス
-ではなくなったためです(例外クラスを指定しない rescue は
-(({StandardError})) 配下の例外クラスだけを捕捉します)。
-このような場合は明示的に NameError を指定する必要があります。
+これは、例外クラス ((<NameError>)) が ((<StandardError>)) のサブクラスではなくなったためです(例外クラスを指定しない rescue は
+(({StandardError})) 配下の例外クラスだけを捕捉します)。このような場合は明示的に NameError を指定する必要があります。
begin
foo
@@ -482,8 +430,7 @@ Arrayのように直接Hashを作るリテラルはありません。
ruby 1.6.7 (2002-03-20) [i586-linux]
**TRAP** : undefined local variable or method `foo' for #<Object:0x401bece0>
-なお、バージョン 1.7 では NameError クラスは StandardError のサブクラスに
-戻っています。どの例外がデフォルトで捕捉できるかは
+なお、バージョン 1.7 では NameError クラスは StandardError のサブクラスに戻っています。どの例外がデフォルトで捕捉できるかは
((<組み込みクラス/モジュール/例外クラス/例外クラス>))
で、クラス階層を確認してください。
@@ -491,8 +438,7 @@ Arrayのように直接Hashを作るリテラルはありません。
(({Integer#prev}))は簡単に定義できます。しかし(({succ}))ほど有用とは思えません。
-一方(({String#prev}))はうまく定義できません。
-例えば
+一方(({String#prev}))はうまく定義できません。例えば
'09'.succ == '9'.succ #=> true
diff --git a/faq/class.rd b/faq/class.rd
index a3f4d881..22a755fa 100644
--- a/faq/class.rd
+++ b/faq/class.rd
@@ -18,10 +18,7 @@
* ((<FAQ::クラス、モジュール/6.14 (({MatchData})) の (({begin}))、(({end})) は何を返しますか>))
* ((<FAQ::クラス、モジュール/6.15 クラス名からクラスを得ることはできますか>))
-== 6.1 クラス定義は、一度に行わなければなりませんか
-同じクラスを再定義すると、前のクラス定義に追加されていきます。
-メソッドを再定義した場合には後のものが上書きしますので、前のものは
-失われます。
+== 6.1 クラス定義は、一度に行わなければなりませんか同じクラスを再定義すると、前のクラス定義に追加されていきます。メソッドを再定義した場合には後のものが上書きしますので、前のものは失われます。
== 6.2 クラス変数はありますか
@@ -55,15 +52,11 @@
end
end
-(('(1)'))がクラスのインスタンス変数、(2)が通常のインスタンス変数です。(2)は
-クラス(({Foo}))のインスタンスに属するのに対し、(1)は(({Foo}))というクラ
-スオブジェクト(((<Class>))のインスタンス)に属します。
+(('(1)'))がクラスのインスタンス変数、(2)が通常のインスタンス変数です。(2)はクラス(({Foo}))のインスタンスに属するのに対し、(1)は(({Foo}))というクラスオブジェクト(((<Class>))のインスタンス)に属します。
-インスタンスメソッドからクラスのインスタンス変数に直接アクセスすること
-はできません。
+インスタンスメソッドからクラスのインスタンス変数に直接アクセスすることはできません。
-上のように初期化されていないインスタンス変数とみなされ、(({nil}))になり
-ます。
+上のように初期化されていないインスタンス変数とみなされ、(({nil}))になります。
== 6.4 特異メソッドとは何ですか
@@ -77,24 +70,17 @@
end
foo.hello
-クラスにあるメソッドを追加したいが、わざわざサブクラスを作るほどのこと
-でもない、といった場合に有効です。
+クラスにあるメソッドを追加したいが、わざわざサブクラスを作るほどのことでもない、といった場合に有効です。
Javaをやってる人は匿名のインナークラスに似てると思うかもしれませんね。
== 6.5 クラスメソッドはありますか
-クラスの特異メソッドをクラスメソッドと呼びます。特異メソッドは
-オブジェクトの固有のメソッドだと説明したばかりですが、Rubyには、
-メタクラスという概念があり、すべてのクラスは、同名のメタクラスと
-いうものを持っていて、これは、Classクラスのインスタンスになって
-います。ここにクラスメソッドが定義されます。
+クラスの特異メソッドをクラスメソッドと呼びます。特異メソッドはオブジェクトの固有のメソッドだと説明したばかりですが、Rubyには、メタクラスという概念があり、すべてのクラスは、同名のメタクラスというものを持っていて、これは、Classクラスのインスタンスになっています。ここにクラスメソッドが定義されます。
-形式的にはクラス名をレシーバーとして呼べるメソッドということに
-なります。
+形式的にはクラス名をレシーバーとして呼べるメソッドということになります。
-((<Class>))のインスタンスである(({Foo}))の特異メソッドを考えてみま
-しょう。
+((<Class>))のインスタンスである(({Foo}))の特異メソッドを考えてみましょう。
class Foo
def Foo.test
@@ -110,19 +96,15 @@ Javaをやってる人は匿名のインナークラスに似てると思うか
そう、これはいわゆるクラスメソッドですね。
-もちろん((<Class>))で定義されているメソッドもクラスメソッドとして使えま
-す。
+もちろん((<Class>))で定義されているメソッドもクラスメソッドとして使えます。
== 6.6 特異クラスとは何ですか
-すでに((<特異メソッド|FAQ::クラス、モジュール>))については
-触れました。
+すでに((<特異メソッド|FAQ::クラス、モジュール>))については触れました。
-簡単におさらいするとRubyではオブジェクト(インスタンス)に対してメソッド
-を追加することができるわけです。
+簡単におさらいするとRubyではオブジェクト(インスタンス)に対してメソッドを追加することができるわけです。
-この考えをもう少し進めるとクラスに対する他の操作をオブジェクトに対して
-も行えるようにしたくなってきませんか?
+この考えをもう少し進めるとクラスに対する他の操作をオブジェクトに対しても行えるようにしたくなってきませんか?
なってこないよ、と言わないで(^^;
@@ -173,17 +155,13 @@ Javaをやってる人は匿名のインナークラスに似てると思うか
end
Foo.class_method #=> Error
-特異メソッドを定義するには、このように特異クラスで定義する方法と
-直接 def obj.method という風に定義してしまう方法があります。
+特異メソッドを定義するには、このように特異クラスで定義する方法と直接 def obj.method という風に定義してしまう方法があります。
-ちょっと性格は違いますが、モジュールでは、モジュール関数にする
-ことにより、特異メソッド(と同時にprivateメソッド)を定義する
-ことができます。
+ちょっと性格は違いますが、モジュールでは、モジュール関数にすることにより、特異メソッド(と同時にprivateメソッド)を定義することができます。
== 6.7 モジュール関数とは何ですか
-モジュールの特異メソッドとして、また同時にprivateメソッドして定義されて
-いるメソッドをRubyではモジュール関数と呼びます。例えば
+モジュールの特異メソッドとして、また同時にprivateメソッドして定義されているメソッドをRubyではモジュール関数と呼びます。例えば
Math.sqrt(2)
@@ -202,58 +180,40 @@ Javaをやってる人は匿名のインナークラスに似てると思うか
== 6.8 クラスとモジュールの違いは何ですか
-モジュールはインスタンスを作れません。
-クラスはincludeすることができません。
+モジュールはインスタンスを作れません。クラスはincludeすることができません。
== 6.9 モジュールはサブクラスを作りますか
-モジュールは、クラス(モジュール)にincludeされることにより、多重継承に
-相当するMix-inを実現します。これは直接の継承であるサブクラスとは
-異なりますが、includeしたクラスは、モジュールとis_a?の関係を
-持ちます。
+モジュールは、クラス(モジュール)にincludeされることにより、多重継承に相当するMix-inを実現します。これは直接の継承であるサブクラスとは異なりますが、includeしたクラスは、モジュールとis_a?の関係を持ちます。
== 6.10 クラス定義の中でクラスメソッドを定義するのと、トップレベルでクラスメソッドを定義する違いは何ですか
-前者では定数を直接参照することができます。後者ではクラス名をつけて参照
-しなければなりません。
+前者では定数を直接参照することができます。後者ではクラス名をつけて参照しなければなりません。
== 6.11 (({load}))と(({require}))はどう違いますか
-どちらも指定した Ruby プログラムを読み込むという点では似ています。しか
-し、 ((<組み込み関数/load>)) が指定したファイルを Ruby プログラム
-として読み込むのに利用するのに対し、 ((<組み込み関数/require>))
-では拡張ライブラリの読み込みが可能で、拡張子が so や rb のもののみを
-探索します。また (({require})) では拡張子を省略できますし、一度読み込んだ
-ファイルは二度と読み込まないようになっています。 (({load})) は指定すれば何度でも読み込みます。
+どちらも指定した Ruby プログラムを読み込むという点では似ています。しかし、 ((<組み込み関数/load>)) が指定したファイルを Ruby プログラムとして読み込むのに利用するのに対し、 ((<組み込み関数/require>))
+では拡張ライブラリの読み込みが可能で、拡張子が so や rb のもののみを探索します。また (({require})) では拡張子を省略できますし、一度読み込んだファイルは二度と読み込まないようになっています。 (({load})) は指定すれば何度でも読み込みます。
-したがって、 (({require})) はライブラリのロードに利用し、 (({load})) は設定ファイ
-ルの読み込みなどに使うのが一般的です。また、両者はファイルのサーチパス
-も異なります。
+したがって、 (({require})) はライブラリのロードに利用し、 (({load})) は設定ファイルの読み込みなどに使うのが一般的です。また、両者はファイルのサーチパスも異なります。
== 6.12 (({include}))と(({extend}))はどう違いますか
-(({include}))は(({module}))をクラス(モジュール)にインクルードして、
-メソッドを関数形式で呼べるようにし、(({extend}))は
-(({module}))をオブジェクト(インスタンス)にインクルードして、メソッドを
-特異メソッドとして追加します。
+(({include}))は(({module}))をクラス(モジュール)にインクルードして、メソッドを関数形式で呼べるようにし、(({extend}))は
+(({module}))をオブジェクト(インスタンス)にインクルードして、メソッドを特異メソッドとして追加します。
== 6.13 (({self})) というのは何ですか
-(({self}))は、メソッドが適用されるオブジェクトそれ自身を表わします。
-関数形式のメソッドは、(({self}))をレシーバーとします。
+(({self}))は、メソッドが適用されるオブジェクトそれ自身を表わします。関数形式のメソッドは、(({self}))をレシーバーとします。
== 6.14 ((<MatchData>)) の (({begin}))、(({end})) は何を返しますか
((-この項目がこのページにあるのはおかしい気がする-))
-(({$~})) に作用して、(({$0}))、(({$1}))などの元の文字列での開始位置、
-終了位置を返します。((<タブ展開|FAQ::組み込みライブラリ>))の例を参照
-してください。
+(({$~})) に作用して、(({$0}))、(({$1}))などの元の文字列での開始位置、終了位置を返します。((<タブ展開|FAQ::組み込みライブラリ>))の例を参照してください。
== 6.15 クラス名からクラスを得ることはできますか
-例えば classname = "SomeClass" のときに SomeClass クラスの
-インスタンスを作りたいというときです。この問題には主に
-二通りの解決策があります。
+例えば classname = "SomeClass" のときに SomeClass クラスのインスタンスを作りたいというときです。この問題には主に二通りの解決策があります。
(1) eval(classname).new
(2) Object.const_get(classname).new
@@ -261,8 +221,7 @@ Javaをやってる人は匿名のインナークラスに似てると思うか
1 は簡単ですしネストしたクラス (Net::HTTP など) にも対応できますが、
CGI 環境などで迂闊に使うと危険です。
-一方、2 の方法ではネストしたクラスに対応できません。
-次のようにするとネストしたクラスも扱えるようになります。
+一方、2 の方法ではネストしたクラスに対応できません。次のようにするとネストしたクラスも扱えるようになります。
# Ruby 1.8 以降でいいなら
c = classname.split(/::/).inject(Object) {|c,name| c.const_get(name) }
diff --git a/faq/general.rd b/faq/general.rd
index da2fa663..3f682959 100644
--- a/faq/general.rd
+++ b/faq/general.rd
@@ -16,17 +16,12 @@
* ((<FAQ::一般的な質問/1.12 Ruby のキャラクターは羊?>))
* ((<FAQ::一般的な質問/1.13 バグ報告はどこへ行えばよいでしょう?>))
-== 1.1 Rubyとは何ですか
-一言で言えば、
- シンプルかつ強力なオブジェクト指向スクリプト言語
-です。
+== 1.1 Rubyとは何ですか一言で言えば、
+ シンプルかつ強力なオブジェクト指向スクリプト言語です。
-perlのようにテキスト処理の分野に威力を発揮します。もちろんそれだけでは
-なく、Rubyで実用的なサーバーアプリケーションを作成するなどということも
-可能です。
+perlのようにテキスト処理の分野に威力を発揮します。もちろんそれだけではなく、Rubyで実用的なサーバーアプリケーションを作成するなどということも可能です。
-Rubyにはたくさんの言語のよい部分が取り込まれており、その結果どの言語とも
-異なる言語になっています。
+Rubyにはたくさんの言語のよい部分が取り込まれており、その結果どの言語とも異なる言語になっています。
Rubyは以下のような特長を持っています。
@@ -45,15 +40,10 @@ Rubyは以下のような特長を持っています。
以下はまつもとさんの((<ruby-talk:00394>))(June 11, 1999)での紹介の翻訳です。
-まつもとさんは、自分の新しい言語の名前をPerlのように何か宝石の
-名前からとろうとし、同僚の誕生石がRubyだったので、Rubyとした
-そうです。
+まつもとさんは、自分の新しい言語の名前をPerlのように何か宝石の名前からとろうとし、同僚の誕生石がRubyだったので、Rubyとしたそうです。
-その後、誕生石としては、pearl => 6月、ruby => 7月、活字の
-大きさとしては、pearl => 5pt、ruby => 5.5ptなど、rubyが
-pearlの直後に来ている例があるのに気づき、Perlより新しく、できれば
-より良い言語の名前としてRubyが新しいスクリプト言語の名前として
-ふさわしいと思ったそうです。
+その後、誕生石としては、pearl => 6月、ruby => 7月、活字の大きさとしては、pearl => 5pt、ruby => 5.5ptなど、rubyが
+pearlの直後に来ている例があるのに気づき、Perlより新しく、できればより良い言語の名前としてRubyが新しいスクリプト言語の名前としてふさわしいと思ったそうです。
まつもとさんは、RubyがPerlの代わりになる日を待っています(^^)。
@@ -103,8 +93,7 @@ Rubyの最新版は((<URL:ftp://ftp.ruby-lang.org/pub/ruby/>))で手に入りま
((<Cygwin>))版と((<MinGW>))版と((<DJGPP>))版は((<Ruby Binaries|URL:http://www.ruby-lang.org/~eban/ruby/binaries/>))にバイナリがあります。
-なお、Windows(cygwin)では初心者向けに((<Ruby Entry Package|URL:http://homepage1.nifty.com/arima/ruby/>))が用意されています。
-そのインストール方法については((<初心者のためのRubyインストールガイド|URL:http://www.ruby-lang.org/~kazu/install-ja.cgi?cmd=view;name=%BD%E9%BF%B4%BC%D4%A4%CE%A4%BF%A4%E1%A4%CERuby%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%A5%AC%A5%A4%A5%C9>))を見てください。
+なお、Windows(cygwin)では初心者向けに((<Ruby Entry Package|URL:http://homepage1.nifty.com/arima/ruby/>))が用意されています。そのインストール方法については((<初心者のためのRubyインストールガイド|URL:http://www.ruby-lang.org/~kazu/install-ja.cgi?cmd=view;name=%BD%E9%BF%B4%BC%D4%A4%CE%A4%BF%A4%E1%A4%CERuby%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%A5%AC%A5%A4%A5%C9>))を見てください。
== 1.5 Rubyのホームページを教えてください
@@ -132,8 +121,7 @@ Rubyの公式ページは
((<URL:http://ruby.freak.ne.jp/>))にあります。
-また、((<ML Topics|URL:http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=ML+Topics>))には、
-過去メールの主な話題がピックアップされています。
+また、((<ML Topics|URL:http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=ML+Topics>))には、過去メールの主な話題がピックアップされています。
== 1.8 rubyistとruby hackerの違いは
@@ -147,8 +135,7 @@ Rubyに対して単なるお客さん以上の気持を持っている人がruby
* Rubyの作者に励ましのお便りを書く人
* Rubyの作者 ^^;;;
-一方、Rubyに関して技術レベルの高さをあわらす人はRuby hackerと呼びましょう。
-たとえば
+一方、Rubyに関して技術レベルの高さをあわらす人はRuby hackerと呼びましょう。たとえば
* Rubyの拡張ライブラリを書く人
* Rubyのバグを直してパッチを作ってしまう人
@@ -159,15 +146,12 @@ Rubyに対して単なるお客さん以上の気持を持っている人がruby
などはRuby hackerでしょう。
-これらは称号は自称されるもので別に私が公式認定をするようなものではあり
-ませんが、上の例でほとんど名指しされている人は、まつもとがこの人たちを
+これらは称号は自称されるもので別に私が公式認定をするようなものではありませんが、上の例でほとんど名指しされている人は、まつもとがこの人たちを
{rubyist、Ruby hacker}として尊敬を込めて認めていることを表します。
== 1.9 "Ruby"と"ruby"はどっちが正しいのですか
-Rubyの正式な表記は"Ruby"です。ただし、コマンド名は"ruby"ですし、
-また並列して違和感がない限り、Rubyの代わりにrubyを使うことは
-許容されます。
+Rubyの正式な表記は"Ruby"です。ただし、コマンド名は"ruby"ですし、また並列して違和感がない限り、Rubyの代わりにrubyを使うことは許容されます。
ただし、「RUBY」、「ルビー」、「るびー」は言語名としては許容されていません。
@@ -175,38 +159,25 @@ Rubyの正式な表記は"Ruby"です。ただし、コマンド名は"ruby"で
== 1.10 Rubyの参考書を教えてください
-『オブジェクト指向スクリプト言語Ruby』 まつもと ゆきひろ・石塚圭樹共著
-アスキー(ISBN4-7561-3254-5)の他に何冊か刊行されています。
-詳しくは「((<Rubyに関する書籍>))」をご覧ください。
+『オブジェクト指向スクリプト言語Ruby』 まつもと ゆきひろ・石塚圭樹共著アスキー(ISBN4-7561-3254-5)の他に何冊か刊行されています。詳しくは「((<Rubyに関する書籍>))」をご覧ください。
-正規表現に関しては、Jeffrey E. F. Friedl著「詳説正規表現」(ISBN4-900900-45-1)が
-オライリージャパンから出ています。様々な正規表現の実装に触れており、
+正規表現に関しては、Jeffrey E. F. Friedl著「詳説正規表現」(ISBN4-900900-45-1)がオライリージャパンから出ています。様々な正規表現の実装に触れており、
Rubyの正規表現を理解するにも有用です。
== 1.11 マニュアルを読んでも理解できないところがあるのですが
-Rubyは、基本的な構文はRuby1.0以来大きくは変わっていませんが、絶えず
-拡張、修正が行われていますので、ドキュメントが最新バージョンに追い
-付いていないところがあります((-ドキュメントも絶えず加筆、修正が行われています-))。
-また、ソースがドキュメントだという説もあります。
+Rubyは、基本的な構文はRuby1.0以来大きくは変わっていませんが、絶えず拡張、修正が行われていますので、ドキュメントが最新バージョンに追い付いていないところがあります((-ドキュメントも絶えず加筆、修正が行われています-))。また、ソースがドキュメントだという説もあります。
-分からなくなったら、遠慮なく((<ruby-list|URL:http://blade.nagaokaut.ac.jp/ruby/ruby-list/index.shtml>))で
-質問すると、作者のまつもとさんをはじめ、開発者の方々や私もはまったという
-人たちに分かりやすく教えていただけます。
+分からなくなったら、遠慮なく((<ruby-list|URL:http://blade.nagaokaut.ac.jp/ruby/ruby-list/index.shtml>))で質問すると、作者のまつもとさんをはじめ、開発者の方々や私もはまったという人たちに分かりやすく教えていただけます。
質問をするには、((%ruby -v%))の結果と、はまったスクリプト
(長い場合は本質的なところを切り出して)を示せばよいでしょう。
((%irb%))を使っている場合は、((%irb%))固有の問題もありますので、
-((%irb --single-irb%))で試してみるか、((%ruby%))で実行し直して
-確認することをおすすめします。
+((%irb --single-irb%))で試してみるか、((%ruby%))で実行し直して確認することをおすすめします。
-MLを検索すれば、かなりの疑問が解決するとは思いますが、メールも
-大量になってしまって、ありふれた検索では絞り込みにくくなっています。
-最近のものくらいはチェックしておくのがネチケット(RFC1855の3.1.1、3.1.2参照)
-というものだとは
-思いますが、言うは易く、行うは難しですし、新しい視点も生まれるかも
-しれません。思い切って質問してみましょう。
+MLを検索すれば、かなりの疑問が解決するとは思いますが、メールも大量になってしまって、ありふれた検索では絞り込みにくくなっています。最近のものくらいはチェックしておくのがネチケット(RFC1855の3.1.1、3.1.2参照)
+というものだとは思いますが、言うは易く、行うは難しですし、新しい視点も生まれるかもしれません。思い切って質問してみましょう。
== 1.12 Ruby のキャラクターは羊?
@@ -214,16 +185,11 @@ MLを検索すれば、かなりの疑問が解決するとは思いますが、
== 1.13 バグ報告はどこへ行えばよいでしょう?
-もしバグに遭遇した場合には((<Ruby Bug Tracking System|URL:http://rubyforge.org/tracker/?atid=1698&group_id=426&func=browse>))に報告してもらえれば、やがて何らかの応答があることでしょう。
-また、(購読していれば) ruby-dev や ruby-core に報告することもできます。
+もしバグに遭遇した場合には((<Ruby Bug Tracking System|URL:http://rubyforge.org/tracker/?atid=1698&group_id=426&func=browse>))に報告してもらえれば、やがて何らかの応答があることでしょう。また、(購読していれば) ruby-dev や ruby-core に報告することもできます。
-その際は、rubyのバージョンやプラットフォーム、エラーメッセージ、
-バグを再現できるスクリプトやデータなどもお願いします。
+その際は、rubyのバージョンやプラットフォーム、エラーメッセージ、バグを再現できるスクリプトやデータなどもお願いします。
(({[BUG]}))というメッセージが表示されて
((-例外的に((<SystemStackError>))が起きたときは何も表示されずに強制終了することがあります。-))
-Rubyが強制終了された場合は、
-環境にもよりますがcoreファイルが作成されているかも知れません。
-もしデバッガが使えるようなら
-((-バイナリパッケージからインストールしている場合などはおそらく無理ですが-))、
-バックトレースなどもあるとベターです。
+Rubyが強制終了された場合は、環境にもよりますがcoreファイルが作成されているかも知れません。もしデバッガが使えるようなら
+((-バイナリパッケージからインストールしている場合などはおそらく無理ですが-))、バックトレースなどもあるとベターです。
diff --git a/faq/interpreter.rd b/faq/interpreter.rd
index dfeb3adb..801b601e 100644
--- a/faq/interpreter.rd
+++ b/faq/interpreter.rd
@@ -12,12 +12,9 @@
== 11.1 Ruby スクリプトをコンパイルすることはできますか?
-RAA に、試験的に作成された x86 向けの Just In Time コンパイラが
-あります。ただしバージョン 1.5 用ですし、実用にもならないでしょう。
+RAA に、試験的に作成された x86 向けの Just In Time コンパイラがあります。ただしバージョン 1.5 用ですし、実用にもならないでしょう。
-コンパイルしたい理由がソースコードの隠蔽なら、近いうちに進展があるかも
-しれません(((<ruby-list:35194>)))。速度についてはかなり意欲的に改良が
-進んでいます。
+コンパイルしたい理由がソースコードの隠蔽なら、近いうちに進展があるかもしれません(((<ruby-list:35194>)))。速度についてはかなり意欲的に改良が進んでいます。
== 11.2 Java VM 上で動く Ruby ってありますか?
@@ -29,31 +26,21 @@ JRuby( ((<URL:http://jruby.sf.net/>)) ) という処理系が現在開発され
== 11.4 Ruby 用の indent みたいなものはありますか?
-これもありません。基本的に Ruby スクリプトの解析は非常に面倒です。
-しかしユーザが増えればかなり実現可能性は高いでしょう。
+これもありません。基本的に Ruby スクリプトの解析は非常に面倒です。しかしユーザが増えればかなり実現可能性は高いでしょう。
== 11.5 ネイティブスレッドを使った Ruby はない?
ネイティブスレッドは、現在の GC (ガベージコレクション……自動メモリ回収)
-の実装と非常に相性が悪いため実現していません。またインタプリタおよび
-基本ライブラリには C レベルでスレッドセーフでない部分がありますので
-その部分を洗いだして修正する必要もあります。
+の実装と非常に相性が悪いため実現していません。またインタプリタおよび基本ライブラリには C レベルでスレッドセーフでない部分がありますのでその部分を洗いだして修正する必要もあります。
== 11.6 GC が遅い! どうにかならないの?
-GC は現在の Ruby インタプリタの最大のボトルネックになりつつあるようで、
-特に大規模なプログラムにおいては顕著です。これを解決するのが次の安定版
-に向けての核となるでしょう。たとえば世代別 GC のような新アルゴリズムが
-試験実装されたりしています。それまでの対処としては 1. 黙って耐える
-2. 生成されるオブジェクトを減らす 3. 大量にオブジェクトを生成するのが
-わかっているならそのあいだだけ GC を止めておく……などが考えられます。
+GC は現在の Ruby インタプリタの最大のボトルネックになりつつあるようで、特に大規模なプログラムにおいては顕著です。これを解決するのが次の安定版に向けての核となるでしょう。たとえば世代別 GC のような新アルゴリズムが試験実装されたりしています。それまでの対処としては 1. 黙って耐える
+2. 生成されるオブジェクトを減らす 3. 大量にオブジェクトを生成するのがわかっているならそのあいだだけ GC を止めておく……などが考えられます。
-ただし通常のプログラムではそうそう GC の影響を受けることはありません。
-安易に GC のせいにせず、どこが遅いのかちゃんと計測してみましょう。
+ただし通常のプログラムではそうそう GC の影響を受けることはありません。安易に GC のせいにせず、どこが遅いのかちゃんと計測してみましょう。
== 11.7 Mac では Ruby は動かないの?
MacOS X ならば .pkg フォーマットのRubyがRAAで公開されています。
-MacOS 9 以前でも動いていたことは
-あるそうですが現在のバージョンは動いていません。消えゆく OS に積極的に
-対応しようとする人もあまりいないのでは……。
+MacOS 9 以前でも動いていたことはあるそうですが現在のバージョンは動いていません。消えゆく OS に積極的に対応しようとする人もあまりいないのでは……。
diff --git a/faq/japanese.rd b/faq/japanese.rd
index dbaf9b4e..3bc04778 100644
--- a/faq/japanese.rd
+++ b/faq/japanese.rd
@@ -17,21 +17,18 @@
== 10.1 漢字を含んだスクリプトが文字化けを出力したり、正しく実行できない場合があります
-((*ruby 1.6以降、デフォルトで漢字コードを特別に解釈しなくなりました*))。
-漢字を扱いたい場合は ((%ruby -Ke%)) などとして((<$KCODE|組み込み変数>))
+((*ruby 1.6以降、デフォルトで漢字コードを特別に解釈しなくなりました*))。漢字を扱いたい場合は ((%ruby -Ke%)) などとして((<$KCODE|組み込み変数>))
を適切に設定しておく必要があります。
Windows 上で SJIS を使用している場合、((%ruby -Ks%))を、
UNIX 系 OS 上で EUC を使用している場合、((%ruby -Ke%))を
-UTF-8N を使用している場合、((%ruby -Ku%))を
-指定する必要があります。
+UTF-8N を使用している場合、((%ruby -Ku%))を指定する必要があります。
なお、スクリプトの先頭行に
#! ruby -Ks
-などと書けばオプションの指定をスクリプトに埋め込むことができます。
-これがもっとも無難でポピュラーな方法です。
+などと書けばオプションの指定をスクリプトに埋め込むことができます。これがもっとも無難でポピュラーな方法です。
== 10.2 オプション(({-K})) と (({$KCODE})) の違いはなんですか?
@@ -42,20 +39,15 @@ UTF-8N を使用している場合、((%ruby -Ku%))を
$KCODE = 'SJIS'
s = "表"
-$KCODE に値を設定する段階ではスクリプトは解析された後です。文字列リテ
-ラルは($KCODE のデフォルトが "NONE" であるため)マルチバイトとして解釈
-されていません。
+$KCODE に値を設定する段階ではスクリプトは解析された後です。文字列リテラルは($KCODE のデフォルトが "NONE" であるため)マルチバイトとして解釈されていません。
-オプション -K による漢字コードの指定ならばスクリプトを読む前に漢字コー
-ドが指定されるので、スクリプト解析の段階で漢字コードを認識します。
+オプション -K による漢字コードの指定ならばスクリプトを読む前に漢字コードが指定されるので、スクリプト解析の段階で漢字コードを認識します。
-ちなみに漢字コードを含んだスクリプトで問題が発生する理由は「表」などの
-文字がシフトJISコードでバックスラッシュ("\")と同じコードを含むからです。
+ちなみに漢字コードを含んだスクリプトで問題が発生する理由は「表」などの文字がシフトJISコードでバックスラッシュ("\")と同じコードを含むからです。
== 10.3 日本語の識別子は使えますか
--K オプションを正しく指定すれば、漢字で始まる変数名は英小文字に相当するもの
-として使えます。ポータビリティが低いのでおすすめできません。
+-K オプションを正しく指定すれば、漢字で始まる変数名は英小文字に相当するものとして使えます。ポータビリティが低いのでおすすめできません。
Hash を使えば似たようなことができます、こちらの方がより安全と言えます。
@@ -92,8 +84,7 @@ $KCODE を設定した上で split(//) や scan(/./) を使います。
# => ["ばー", "ばず", "ふー"]
# ["ばー", "ばず", "ふー"]
-余談ですが、version 1.7 以降なら ((<Enumerable#sort_by|Enumerable>)) を
-使って最後の行を
+余談ですが、version 1.7 以降なら ((<Enumerable#sort_by|Enumerable>)) を使って最後の行を
p ary.sort_by {|l| l.tr(a,b)}
@@ -101,8 +92,7 @@ $KCODE を設定した上で split(//) や scan(/./) を使います。
== 10.7 SJISの機種依存コード84BF から 889Fまでを空白に置き換えたいのですが
-正規表現で[あ-ん]というような範囲表現が使えますが、機種依存文字を直接
-書くことはプログラムの可読性を損ないます。かといって
+正規表現で[あ-ん]というような範囲表現が使えますが、機種依存文字を直接書くことはプログラムの可読性を損ないます。かといって
gsub(/[\x84\xbf-\x88\x9f]/s, ' ')
@@ -112,15 +102,11 @@ $KCODE を設定した上で split(//) や scan(/./) を使います。
または
gsub(/#{"[\x84\xbf-\x88\x9f]"}/s, ' ')
-2バイトコードの範囲をうまく数値で表現して、空白に置き換えることができ
-ます。(余談ですが、このようなときには空白でなくゲタ("〓")に置き換えま
-すけどね)
+2バイトコードの範囲をうまく数値で表現して、空白に置き換えることができます。(余談ですが、このようなときには空白でなくゲタ("〓")に置き換えますけどね)
== 10.8 いわゆる全角文字と半角文字の変換を行うにはどうするのがよいですか?
-標準ならば ((<nkf>)) ライブラリを使う方法と ((<jcode>)) ライブラ
-リを使って変換を行う方法があります。あと ((<RAA:Kakasi>)) ライブラリな
-どでも可能です。
+標準ならば ((<nkf>)) ライブラリを使う方法と ((<jcode>)) ライブラリを使って変換を行う方法があります。あと ((<RAA:Kakasi>)) ライブラリなどでも可能です。
((<ruby-list:10505>)),
((<ruby-list:25839>)),
@@ -141,9 +127,7 @@ Ruby はいわゆる半角カナを完全にはサポートしてません。
== 10.10 日本語を含む文字列から n バイトを切り出したいのですが
-多バイト文字の切り出しでは、文字の泣き別れが問題になるのです
-が、これに対しては $KCODE を設定したとき /./ が、分断された
-文字にマッチしないことを利用できます。
+多バイト文字の切り出しでは、文字の泣き別れが問題になるのですが、これに対しては $KCODE を設定したとき /./ が、分断された文字にマッチしないことを利用できます。
$KCODE = "e"
p /./ =~ "あ"[0,1] # => nil
@@ -152,8 +136,7 @@ Ruby はいわゆる半角カナを完全にはサポートしてません。
p /./ =~ "\xff" # => 0
-以下は、文字列の左からたかだか len バイトまでを切り出すメソッ
-ド jleft のサンプルです。
+以下は、文字列の左からたかだか len バイトまでを切り出すメソッド jleft のサンプルです。
class String
def jleft(len)
@@ -213,8 +196,7 @@ Ruby はいわゆる半角カナを完全にはサポートしてません。
require 'nkf'
p NKF.nkf("-ef11", "あいうえお、かきくけこ")
-ただ、こちらは禁則処理やスペースの調整などを行ってくれて
-賢すぎるので細かく制御できない場合があります。
+ただ、こちらは禁則処理やスペースの調整などを行ってくれて賢すぎるので細かく制御できない場合があります。
自力でやるには ((<10.10|FAQ::日本語の取り扱い/10.10 日本語を含む文字列から n バイトを切り出したいのですが>))
の方法を応用します。
@@ -243,8 +225,7 @@ Ruby はいわゆる半角カナを完全にはサポートしてません。
、かきくけ
-ただ、これは n バイト毎の folding です。TAB の桁位置を考慮し
-ていません。また、nkf に比べれば格段に遅いです。
+ただ、これは n バイト毎の folding です。TAB の桁位置を考慮していません。また、nkf に比べれば格段に遅いです。
== 10.12 UTF-8で書いたコードを正しく実行できません
@@ -252,9 +233,7 @@ Ruby はいわゆる半角カナを完全にはサポートしてません。
の項目をチェックしたにもかかわらず、どうしても UTF-8 を正しく解釈してくれない場合は、
UTF-8 と UTF-8N の違いを疑ってみる必要があるかもしれません。
-このリファレンスマニュアルでは単に UTF-8 と書かれていますが、
-実は ruby インタープリタが解釈するのは UTF-8N です。一般的なエディタでは
-暗黙的に UTF-8N のみを取り扱いますが、一部のエディタ((- RDEで確認。 -))では
+このリファレンスマニュアルでは単に UTF-8 と書かれていますが、実は ruby インタープリタが解釈するのは UTF-8N です。一般的なエディタでは暗黙的に UTF-8N のみを取り扱いますが、一部のエディタ((- RDEで確認。 -))では
UTF-8 と UTF-8N を区別します。このような場合には UTF-8N で保存してみてください。
((<執筆者募集>))
diff --git a/faq/method.rd b/faq/method.rd
index 345cf575..c2057965 100644
--- a/faq/method.rd
+++ b/faq/method.rd
@@ -20,10 +20,7 @@
== 5.1 オブジェクトにメッセージを送った時に実行されるメソッドはどのように捜されますか
-特異メソッド、自クラスで定義されたメソッド、スーパークラス(Mix-inされた
-モジュールを含む。クラス名.ancestorsで表示される。)で定義されたメソッドの順に
-最初に見つかったメソッドが実行されます。メソッドが見つからなかった
-場合には、(({method_missing}))が同じ順で捜されます。
+特異メソッド、自クラスで定義されたメソッド、スーパークラス(Mix-inされたモジュールを含む。クラス名.ancestorsで表示される。)で定義されたメソッドの順に最初に見つかったメソッドが実行されます。メソッドが見つからなかった場合には、(({method_missing}))が同じ順で捜されます。
module Indexed
def [](n)
@@ -37,14 +34,11 @@
p "abcde".gsub!(/./, "\\&\n")[1]
は、残念ながら期待するように"b\n"を返してくれず、10を返してきます。
-[]がStringクラスで捜され、Indexedで定義されたものを捜し出す前に
-マッチしてしまうからです。Class Stringで直接[]を再定義すれば、
-期待どおりになります。
+[]がStringクラスで捜され、Indexedで定義されたものを捜し出す前にマッチしてしまうからです。Class Stringで直接[]を再定義すれば、期待どおりになります。
== 5.2 (({+}))や(({-}))は演算子ですか
-(({+}))や(({-}))などは演算子ではなくメソッド呼び出しです。したがって
-オーバーライド(再定義)することもできます。
+(({+}))や(({-}))などは演算子ではなくメソッド呼び出しです。したがってオーバーライド(再定義)することもできます。
class MyString < String
def +(other)
@@ -52,8 +46,7 @@
end
end
-ただし、以下のもの及びこれらを組み合わせたもの(!=、!~)は制御構造であり、
-オーバーライドできません。
+ただし、以下のもの及びこれらを組み合わせたもの(!=、!~)は制御構造であり、オーバーライドできません。
=, .., ..., !, not, &&, and, |, or, ~, ::
@@ -61,8 +54,7 @@
(({+@}))や(({-@}))を使います。
(({=}))は、インスタンス変数へのアクセスメソッドとして,
-クラス定義の中で次のようにメソッドを定義することができます。
-また、(({+}))や(({-}))なども定義することにより、(({+=}))
+クラス定義の中で次のようにメソッドを定義することができます。また、(({+}))や(({-}))なども定義することにより、(({+=}))
などの自己代入演算も可能になります。
def attribute=(val)
@@ -71,8 +63,7 @@
== 5.3 関数はありますか
-Rubyにおいて関数のように見えるものはすべてレシーバ(self)を省略した形の
-メソッドです。例えば
+Rubyにおいて関数のように見えるものはすべてレシーバ(self)を省略した形のメソッドです。例えば
def writeln(str)
print(str, "\n")
@@ -80,19 +71,13 @@ Rubyにおいて関数のように見えるものはすべてレシーバ(self)
writeln("Hello, World!")
-のように一見関数のように見えるものも、((<Object>))クラスに定義された
-メソッドであり、隠されたレシーバー(({self}))に送られているというわけです。
-したがってRubyを純粋なオブジェクト指向言語と呼ぶことができます。
+のように一見関数のように見えるものも、((<Object>))クラスに定義されたメソッドであり、隠されたレシーバー(({self}))に送られているというわけです。したがってRubyを純粋なオブジェクト指向言語と呼ぶことができます。
-組み込み関数のように、(({self}))が何であっても同じ結果を返すメソッドは、
-レシーバーを意識する必要がありませんので、関数と考えてもいいという
-ことになります。
+組み込み関数のように、(({self}))が何であっても同じ結果を返すメソッドは、レシーバーを意識する必要がありませんので、関数と考えてもいいということになります。
== 5.4 オブジェクトのインスタンス変数を外から参照できますか
-直接はできません。あらかじめそのオブジェクトにインスタンス変数を
-参照するためのメソッド (アクセサと言います) を定義しておく必要が
-あります。たとえば以下のようにします。
+直接はできません。あらかじめそのオブジェクトにインスタンス変数を参照するためのメソッド (アクセサと言います) を定義しておく必要があります。たとえば以下のようにします。
class C
def name
@@ -108,8 +93,7 @@ Rubyにおいて関数のように見えるものはすべてレシーバ(self)
p c.name #=> "やまだたろう"
またこのような単純なメソッド定義は (({Module#attr}))、(({attr_reader}))、
-(({attr_writer}))、(({attr_accessor})) などを使って簡潔に行うことができます。
-たとえば上にあったクラス定義は以下のように書き直せます。
+(({attr_writer}))、(({attr_accessor})) などを使って簡潔に行うことができます。たとえば上にあったクラス定義は以下のように書き直せます。
class C
attr_accessor :name
@@ -120,21 +104,15 @@ Rubyにおいて関数のように見えるものはすべてレシーバ(self)
== 5.5 (({private}))と(({protected}))の違いが分かりません
-(({private}))の意味は、メソッドを関数形式でだけ呼び出せるようにし、
-レシーバー形式では呼び出せないようにするという意味です。したがって、
-可視性が(({private}))なメソッドは、自クラス及びサブクラスからしか参照
-できません。
+(({private}))の意味は、メソッドを関数形式でだけ呼び出せるようにし、レシーバー形式では呼び出せないようにするという意味です。したがって、可視性が(({private}))なメソッドは、自クラス及びサブクラスからしか参照できません。
-(({protected}))も同様に、自クラス及びサブクラスからしか参照できませんが、
-関数形式でもレシーバー形式でも呼び出せます。
+(({protected}))も同様に、自クラス及びサブクラスからしか参照できませんが、関数形式でもレシーバー形式でも呼び出せます。
メソッドのカプセル化に必要な機能です。
== 5.6 インスタンス変数をpublicにしたいのですが
-変数を直接外から見えるようにすることはできません。Rubyではインスタンス
-変数へのアクセスはアクセスメソッドを使って行います。例えば次のように
-します。
+変数を直接外から見えるようにすることはできません。Rubyではインスタンス変数へのアクセスはアクセスメソッドを使って行います。例えば次のようにします。
class Foo
def initialize(str)
@@ -147,8 +125,7 @@ Rubyにおいて関数のように見えるものはすべてレシーバ(self)
end
しかし毎回これを書くのは面倒です。そこで(({attr_reader}))、(({attr_writer}))、
-(({attr_accessor}))と言ったメソッドを使うとこのような単純なメソッド定義を
-簡単に書くことができます。
+(({attr_accessor}))と言ったメソッドを使うとこのような単純なメソッド定義を簡単に書くことができます。
class Foo
def initialize(str)
@@ -190,13 +167,9 @@ Rubyにおいて関数のように見えるものはすべてレシーバ(self)
== 5.7 メソッドの可視性を指定したいのですが
-まず、Rubyでは関数形式(レシーバを省略した形)でしか呼び出すことのできない
-メソッドのことをprivateなメソッドと呼んでいます。C++やJavaのprivateとは
-意味が違うので注意してください。
+まず、Rubyでは関数形式(レシーバを省略した形)でしか呼び出すことのできないメソッドのことをprivateなメソッドと呼んでいます。C++やJavaのprivateとは意味が違うので注意してください。
-メソッドをprivateにすると、そのメソッドは別のオブジェクトからは
-呼び出すことができなくなります。クラス内か、そのサブクラスからしか
-使わないメソッドはprivateにしておきましょう。
+メソッドをprivateにすると、そのメソッドは別のオブジェクトからは呼び出すことができなくなります。クラス内か、そのサブクラスからしか使わないメソッドはprivateにしておきましょう。
次のようにすればメソッドをprivateにすることができます。
@@ -226,24 +199,19 @@ Rubyにおいて関数のように見えるものはすべてレシーバ(self)
同様に(({public}))、(({public_class_method}))を用いることでメソッドを
publicにすることができます。
-デフォルトでは、クラス内でのメソッド定義はinitializeを除いてpublic、
-トップレベルではprivateになっています。
+デフォルトでは、クラス内でのメソッド定義はinitializeを除いてpublic、トップレベルではprivateになっています。
== 5.8 メソッド名に大文字で始まる識別子は使えますか
-使えます。ただし、引数の無いメソッド呼び出しに対して引数を括る括弧を
-省略できなくなります。
+使えます。ただし、引数の無いメソッド呼び出しに対して引数を括る括弧を省略できなくなります。
== 5.9 (({super}))が((<ArgumentError>))になりますが
-メソッド定義中で(({super}))と呼び出すと、引数がすべて渡されますので、
-引数の数が合わないと((<ArgumentError>))になります。異なる数の引数を
-指定するには、(({super}))に引数を指定してやります。
+メソッド定義中で(({super}))と呼び出すと、引数がすべて渡されますので、引数の数が合わないと((<ArgumentError>))になります。異なる数の引数を指定するには、(({super}))に引数を指定してやります。
== 5.10 2段階上の同名のメソッドを呼びたいのですが
-(({super}))は、1段上の同名のメソッドしか呼べません。それより上の同名の
-メソッドを呼び出すには、あらかじめそのメソッドをaliasしておきます。
+(({super}))は、1段上の同名のメソッドしか呼べません。それより上の同名のメソッドを呼び出すには、あらかじめそのメソッドをaliasしておきます。
== 5.11 組み込み関数を再定義した時に、元の関数を呼びたい時はどうしますか
@@ -253,16 +221,13 @@ publicにすることができます。
== 5.12 破壊的メソッドとは何ですか
-オブジェクトの内容を変更してしまうメソッドで、文字列や配列、ハッシュ
-などにあります。同名のメソッドがあって、一方はオブジェクトのコピーを
-作って返し、もう一方は変更されたオブジェクトを返すようになっている場合、
+オブジェクトの内容を変更してしまうメソッドで、文字列や配列、ハッシュなどにあります。同名のメソッドがあって、一方はオブジェクトのコピーを作って返し、もう一方は変更されたオブジェクトを返すようになっている場合、
!のついた方が破壊的メソッドです。ただし、!がつかないメソッドの中にも
String#concatのように破壊的なものはあります。
== 5.13 副作用が起こるのはどんな時ですか
-実引数であるオブジェクトに対して、メソッドの中から破壊的メソッドを
-適用した場合です.
+実引数であるオブジェクトに対して、メソッドの中から破壊的メソッドを適用した場合です.
def foo(str)
str.sub!(/foo/, "baz")
@@ -273,24 +238,19 @@ String#concatのように破壊的なものはあります。
print obj
#=> "baz"
-この場合、引数となったオブジェクトが変更されています。でも、これは、プログラム
-の中で((*必要があって*))副作用のあるメッセージをオブジェクトに対し
-て送っているので当たり前です。
+この場合、引数となったオブジェクトが変更されています。でも、これは、プログラムの中で((*必要があって*))副作用のあるメッセージをオブジェクトに対して送っているので当たり前です。
== 5.14 メソッドから複数の戻り値を返すことはできますか
-Rubyでは、メソッドの戻り値は一つしか指定できませんが、
-配列を使うことによって、複数の戻り値を返すことができます。
+Rubyでは、メソッドの戻り値は一つしか指定できませんが、配列を使うことによって、複数の戻り値を返すことができます。
return 1, 2, 3
-とするとreturnに与えたリストが配列として返されます。つまり上記のコードは
-次のように書くのと全く同じ意味です。
+とするとreturnに与えたリストが配列として返されます。つまり上記のコードは次のように書くのと全く同じ意味です。
return [1, 2, 3]
-さらに多重代入を利用すると、複数の戻り値を戻すのとほとんど同じことがで
-きます。たとえば、
+さらに多重代入を利用すると、複数の戻り値を戻すのとほとんど同じことができます。たとえば、
def foo
return 20, 4, 17
diff --git a/faq/stdlibs.rd b/faq/stdlibs.rd
index 47e7dfec..527c5870 100644
--- a/faq/stdlibs.rd
+++ b/faq/stdlibs.rd
@@ -27,14 +27,11 @@ irb というスクリプトがあります。
使い方の詳細は ((<irb>)) を参照してください。
-バイナリパッケージのrubyを利用している場合 irb は別パッケージになって
-いる可能性があります。各ディストリビューションの状況を調べてみてくださ
-い。
+バイナリパッケージのrubyを利用している場合 irb は別パッケージになっている可能性があります。各ディストリビューションの状況を調べてみてください。
== 8.2 デバッガはありますか
-あります。Rubyを次のように起動してください。詳細は ((<debug>)) を参
-照してください。
+あります。Rubyを次のように起動してください。詳細は ((<debug>)) を参照してください。
ruby -r debug your_script
@@ -42,31 +39,23 @@ irb というスクリプトがあります。
RubyはCで書かれています。さらに、Cで書かれたライブラリを
Rubyで利用できるようにするための部品もととのっていますので、
-Cで書かれたライブラリとRubyとの間のインターフェースを書くことに
-より、Rubyから使えるライブラリができます。
+Cで書かれたライブラリとRubyとの間のインターフェースを書くことにより、Rubyから使えるライブラリができます。
まず、Rubyのソースを展開したディレクトリにある、
((<"ruby-src:doc/extension.ja.rdoc">)) を読んでみましょう。この文書はRuby
そのものについて知るためにもよいドキュメントになっています。
-次にext/ディレクトリの下にあるサブディレクトリを覗いてみると
-実例が出てきます。ftpサイトのcontribにあるものも参考になる
-ことでしょう。
+次にext/ディレクトリの下にあるサブディレクトリを覗いてみると実例が出てきます。ftpサイトのcontribにあるものも参考になることでしょう。
== 8.4 Tcl/Tkのインターフェースはありますか
-標準で添付されている拡張ライブラリに、Tcl/Tkのインターフェースが
-あります。一つは、ext/tcltklib/lib以下のrequire "tcltk"で ロードされるインタ
-ーフェースで、TclスクリプトをRubyスクリプト中に埋め込むよ
-うな記述になります。
+標準で添付されている拡張ライブラリに、Tcl/Tkのインターフェースがあります。一つは、ext/tcltklib/lib以下のrequire "tcltk"で ロードされるインターフェースで、TclスクリプトをRubyスクリプト中に埋め込むような記述になります。
-もう一つはext/tk/以下のrequire "tk"でロードされるインターフェースで、
-こちらはよりRubyらしい記述でTkのGUIを実現することができます。
+もう一つはext/tk/以下のrequire "tk"でロードされるインターフェースで、こちらはよりRubyらしい記述でTkのGUIを実現することができます。
== 8.5 Tkが動かないのですが
-お使いのTkのバージョンが古い可能性があります。新しいものと交換してみて
-ください。
+お使いのTkのバージョンが古い可能性があります。新しいものと交換してみてください。
== 8.6 gtk+、xformsのインターフェースはありますか
@@ -74,6 +63,5 @@ Cで書かれたライブラリとRubyとの間のインターフェースを書
== 8.7 日付の計算をしたいのですが
-((<Time>))オブジェクトは、1970年1月1日から2038年1月19日までしか表せま
-せん。標準添付ライブラリ ((<date>)) を使ってください。
+((<Time>))オブジェクトは、1970年1月1日から2038年1月19日までしか表せません。標準添付ライブラリ ((<date>)) を使ってください。
((<"ruby-src:sample/cal.rb">)) も参照してください。
diff --git a/faq/syntax.rd b/faq/syntax.rd
index d63e73dd..a7266991 100644
--- a/faq/syntax.rd
+++ b/faq/syntax.rd
@@ -17,13 +17,11 @@
シンボルと呼ばれる、識別子と1対1対応するオブジェクトです
((-version 1.4 以前はシンボルは整数(Fixnum)で実装されていました。現在はSymbolクラスのインスタンスです-))。
-"exit".internとしても求められます。catch, throw, autoloadなどでは、
-引数として文字列もシンボルも使えます。
+"exit".internとしても求められます。catch, throw, autoloadなどでは、引数として文字列もシンボルも使えます。
== 4.2 シンボルと同名の変数の値を取り出すにはどうすればいいですか
-(({symbol}))のスコープで(({eval( (:symbol).id2name)}))とすると、
-値が取り出せます。
+(({symbol}))のスコープで(({eval( (:symbol).id2name)}))とすると、値が取り出せます。
a = 'This is the content of "a"'
b = eval(:a.id2name)
@@ -35,13 +33,11 @@
== 4.4 (({a +b}))がエラーになりますが
-(({a(+b)}))と解析されています。(({+}))の両側の空白をなくすか、いれるか
-のどちらかにしてください。
+(({a(+b)}))と解析されています。(({+}))の両側の空白をなくすか、いれるかのどちらかにしてください。
== 4.5 (({s = "x"; puts s *10})) がエラーになりますが
-(({puts s *10})) のところが、s(*10)というメソッド呼び出しと解析されて
-しまいます。(({s*10}))にするか、(({s * 10}))にしてください。
+(({puts s *10})) のところが、s(*10)というメソッド呼び出しと解析されてしまいます。(({s*10}))にするか、(({s * 10}))にしてください。
((<ruby 1.8 feature>)): 1.8(?) 以降ではエラーになりません。
@@ -77,26 +73,20 @@ pos=() の呼びだしにするには (({self.pos = 1})) としてください
同じです。シングルクォートの中では、(({\'}))と(({\\}))、行末の(({\}))
(改行を無効にします)だけが解釈され、それ以外は解釈されません。
-((-((<ruby 1.8 feature>)): 1.8.1(?) 以降ではシングルクォートで囲まれ
-た文字列では行末の\は \ そのものとして解釈されます。((<ruby-dev:21339>))-))
+((-((<ruby 1.8 feature>)): 1.8.1(?) 以降ではシングルクォートで囲まれた文字列では行末の\は \ そのものとして解釈されます。((<ruby-dev:21339>))-))
== 4.9 (({p true or true and false}))は(({true}))を表示するのに、(({a=true if true or true and false}))では、(({a}))に(({true}))が代入されません。
最初の式は、(({(p true) or true and false}))と解釈されます。
-(({and/or}))は
-文の構成要素として解釈され、(({p}))の引数を結ぶ演算子としては解釈され
-ません。
+(({and/or}))は文の構成要素として解釈され、(({p}))の引数を結ぶ演算子としては解釈されません。
2番目のは、(({a=true if (true or true and false)}))と解釈されています。
(({if}))の方が(({and/or}))より優先順位が低いこと、
-(({or}))と(({and}))の優先順位が同じなので、
-左から順に解釈されることによります。
+(({or}))と(({and}))の優先順位が同じなので、左から順に解釈されることによります。
== 4.10 (({p(nil || "")})) はなんでもないのに、 (({p(nil or "")})) はパースエラーだと言われます
-|| は引数を結ぶことができますが、or は文と文を結ぶことしかできず、
-引数を結ぶことができないからです。この違いは、たとえば以下のふたつの
-式の結果がどうなるか試してみればわかります。
+|| は引数を結ぶことができますが、or は文と文を結ぶことしかできず、引数を結ぶことができないからです。この違いは、たとえば以下のふたつの式の結果がどうなるか試してみればわかります。
p nil || ""
p nil or ""
diff --git a/faq/tk/other-toolkit.rd b/faq/tk/other-toolkit.rd
index 7840990c..48b8b31c 100644
--- a/faq/tk/other-toolkit.rd
+++ b/faq/tk/other-toolkit.rd
@@ -4,8 +4,7 @@
* EZWGL モジュール
-((<EZWGL|URL:http://www.ma.utexas.edu/~mzou/EZWGL/>)) を扱うモジュールが 前田さんによって作られています。
-現在ネットワーク上では手に入らないかも?
+((<EZWGL|URL:http://www.ma.utexas.edu/~mzou/EZWGL/>)) を扱うモジュールが 前田さんによって作られています。現在ネットワーク上では手に入らないかも?
* FLTK モジュール
@@ -16,8 +15,7 @@
* gtk モジュール
-((<gtk|URL:http://www.gtk.org/>)) を扱うモジュールが まつもと さんによって作られています。
-現在は、五十嵐さんがメンテしています。((<Ruby(('/'))Gtk|URL:http://www.ruby-lang.org/gtk/ja/index.html>))にあります。
+((<gtk|URL:http://www.gtk.org/>)) を扱うモジュールが まつもと さんによって作られています。現在は、五十嵐さんがメンテしています。((<Ruby(('/'))Gtk|URL:http://www.ruby-lang.org/gtk/ja/index.html>))にあります。
* XForms モジュール
diff --git a/faq/tk/platform.rd b/faq/tk/platform.rd
index 5cc98c9e..814ee508 100644
--- a/faq/tk/platform.rd
+++ b/faq/tk/platform.rd
@@ -2,9 +2,7 @@
== 1.1 Ruby/Tk とは何ですか?
-Ruby/Tk は、強力なオブジェクト指向スクリプト言語である Ruby と、
-手軽に GUI プログラムを作成できる Tcl/Tk を組み合わせることで、
-楽しく、プログラムをすることを目指したものです。
+Ruby/Tk は、強力なオブジェクト指向スクリプト言語である Ruby と、手軽に GUI プログラムを作成できる Tcl/Tk を組み合わせることで、楽しく、プログラムをすることを目指したものです。
== 1.2 どんな OS で動作するのでしょうか?
@@ -12,8 +10,7 @@ Ruby/Tk は、強力なオブジェクト指向スクリプト言語である Ru
== 1.3 Tcl/Tk でなく Ruby/Tk を使うと何がうれしいのですか?
同じスクリプト言語といっても Ruby は Tcl よりかなり強力です。
-Tk は使いたいけど、Tcl は使いたくない人にとって Ruby/Tk を使う意味は
-大いにあるでしょう。
+Tk は使いたいけど、Tcl は使いたくない人にとって Ruby/Tk を使う意味は大いにあるでしょう。
== 1.4 Ruby/Tk と tcltk, tcltklib ライブラリの違いは何ですか?
diff --git a/faq/tk/reference.rd b/faq/tk/reference.rd
index c264530b..37003243 100644
--- a/faq/tk/reference.rd
+++ b/faq/tk/reference.rd
@@ -2,20 +2,13 @@
== Ruby/Tk をソースからインストールするにはどうしたら良いですか?
-まず、Tcl/Tk をシステムにインストールしてください。このとき、
-コンパイルに必要なヘッダやライブラリもインストールするように
-してください(使用するバイナリパッケージによってはヘッダ等は
-開発パッケージとして別にインストールする必要があるかも知れま
-せん)
+まず、Tcl/Tk をシステムにインストールしてください。このとき、コンパイルに必要なヘッダやライブラリもインストールするようにしてください(使用するバイナリパッケージによってはヘッダ等は開発パッケージとして別にインストールする必要があるかも知れません)
注意として、現在の Ruby/Tk では、もはや Tcl/Tk のバージョン
-8.0 より以前のものはメンテの対象になっていないことに注意して
-ください(動くかもしれませんけど)
+8.0 より以前のものはメンテの対象になっていないことに注意してください(動くかもしれませんけど)
-ruby を build するときの configure のオプションに以下を含め
-てください(これらの指定はある程度自動検出されますが、Tcl/Tk
-のバージョンやインストール形態は様々なので、すべてに対応でき
-ていません)
+ruby を build するときの configure のオプションに以下を含めてください(これらの指定はある程度自動検出されますが、Tcl/Tk
+のバージョンやインストール形態は様々なので、すべてに対応できていません)
./configure --with-tcllib=tcl8.3 \
--with-tklib=tk8.3 \
@@ -29,23 +22,14 @@ libtclXXX.a の tclXXX の部分を、
libtkXXX.a の tkXXX の部分を指定します。XXX の部分にはよく
Tcl/Tk のバージョンを示す番号が付加されています。
---with-tcl-include=XXX には、tcl のヘッダファイルのあるパス
-を指定します。標準の /usr/include 等に置かれている場合には必
-要ありません。もし、tk のヘッダファイルがこれとは別の場所に
-あるなら --with-tk-include=XXX も合わせて指定する必要があり
-ます。
+--with-tcl-include=XXX には、tcl のヘッダファイルのあるパスを指定します。標準の /usr/include 等に置かれている場合には必要ありません。もし、tk のヘッダファイルがこれとは別の場所にあるなら --with-tk-include=XXX も合わせて指定する必要があります。
tk のヘッダは X Window System のヘッダファイルを(たとえ、MS
-Windows 環境であっても)読もうとします。このヘッダが見つから
-ない場合は、--with-X11-include=XXX の XXX 部分に X のヘッダ
-ファイルのあるディレクトリを指定します。
-(このため、Cygwin 環境で Ruby/Tk をコンパイルするには、XFree86 もイン
-ストールする必要があります。ただ、後述する bitWalk の Tcl/Tk
-パッケージには X のヘッダファイルが含まれているのでこの必要
-はありません)
+Windows 環境であっても)読もうとします。このヘッダが見つからない場合は、--with-X11-include=XXX の XXX 部分に X のヘッダファイルのあるディレクトリを指定します。
+(このため、Cygwin 環境で Ruby/Tk をコンパイルするには、XFree86 もインストールする必要があります。ただ、後述する bitWalk の Tcl/Tk
+パッケージには X のヘッダファイルが含まれているのでこの必要はありません)
-Tcl/Tk が Stub 機能を持つ場合(Tcl/Tk 8.1 以降)上記の代わりに
-以下のように指定することを推奨します。
+Tcl/Tk が Stub 機能を持つ場合(Tcl/Tk 8.1 以降)上記の代わりに以下のように指定することを推奨します。
./configure --enable-tcltk_stubs \
--with-tcl-include=/usr/include/tcl8.3 \
@@ -69,23 +53,18 @@ libtkstubXXX.a の tkstubXXX の部分を指定します。
=== Cygwin 版の場合
-cygwin のデフォルトで入っているかもしれない tcl8.0 では Stub が使えず、
-また日本語化がなされていません。
+cygwin のデフォルトで入っているかもしれない tcl8.0 では Stub が使えず、また日本語化がなされていません。
-これを動作させるには、TCL_LIBRARY 環境変数を適切に設定する必要がありま
-す。((*この環境変数は Windows 形式のパスを指定する必要があります*))
+これを動作させるには、TCL_LIBRARY 環境変数を適切に設定する必要があります。((*この環境変数は Windows 形式のパスを指定する必要があります*))
$ export TCL_LIBRARY=`cygpath -w /usr/share/tcl8.0`
$ ruby -Ks -rtk -e 'TkButton.new(nil, "text"=>"てすと") {
command { puts "てすと" }
}.pack' -e Tk.mainloop
-以上のことから、Tcl/Tk 8.1 以降(国際化対応されています)のバイナリパッケージを別途
-インストールすることを推奨します。
+以上のことから、Tcl/Tk 8.1 以降(国際化対応されています)のバイナリパッケージを別途インストールすることを推奨します。
-bitWalkの Tcl/Tkを使用する ruby を cygwin 環境で作成するには
-以下のようにします。(上で説明してる「Ruby/Tk をソースからインストールするには...」
-も参照してください)
+bitWalkの Tcl/Tkを使用する ruby を cygwin 環境で作成するには以下のようにします。(上で説明してる「Ruby/Tk をソースからインストールするには...」も参照してください)
(bitWalk の Tcl/Tk パッケージを d:\Tcl にインストールしたとする)
diff --git a/faq/trap/default-line.rd b/faq/trap/default-line.rd
index 00d22d59..b02f92c3 100644
--- a/faq/trap/default-line.rd
+++ b/faq/trap/default-line.rd
@@ -1,18 +1,15 @@
= 暗黙の $_
-以下は、少なくとも Ruby 1.8.4 (2005-12-24) では当てはまりません。
-どこかで変更されたのでしょう。(どの段階で?)
+以下は、少なくとも Ruby 1.8.4 (2005-12-24) では当てはまりません。どこかで変更されたのでしょう。(どの段階で?)
以下の式の結果は、/foobar/ ではなく nil になります。((-$_ に foobar が含まれていた場合は?-))
-((-あらい 2001-10-07: 下でどう解釈されているか説明されてるから
-わかりますよね?ダメ?あんまりくどいのも嫌でしょう?-))
+((-あらい 2001-10-07: 下でどう解釈されているか説明されてるからわかりますよね?ダメ?あんまりくどいのも嫌でしょう?-))
((-実際の挙動はその解釈とは異なる-))
((-あらい 2001-10-07: ?ごめんもっとわかりやすく-))
nil || /foobar/ #=> nil (少なくとも Ruby 1.8.4 では /foobar/)
-これは、「条件式に単体の正規表現リテラルだけを書くと$_との正規表現マッ
-チを行う」というルールがあるためです。つまり、上記の式は
+これは、「条件式に単体の正規表現リテラルだけを書くと$_との正規表現マッチを行う」というルールがあるためです。つまり、上記の式は
nil || /foobar/ =~ $_
@@ -24,5 +21,4 @@
のように単体の正規表現リテラルを書かないようにするしか方法がありません。
-論理演算子式の項に現れた正規表現リテラルの特殊解釈はなくす方向で検討さ
-れています((<ruby-list:30836>)) (→ 少なくとも Ruby 1.8.4 ではそうなっているようです)
+論理演算子式の項に現れた正規表現リテラルの特殊解釈はなくす方向で検討されています((<ruby-list:30836>)) (→ 少なくとも Ruby 1.8.4 ではそうなっているようです)
diff --git a/faq/trap/time.rd b/faq/trap/time.rd
index 64836a36..631f8054 100644
--- a/faq/trap/time.rd
+++ b/faq/trap/time.rd
@@ -1,15 +1,13 @@
= Time
== タイムゾーン
-rubyが出力するタイムゾーン文字列はOSの実装に依存しています。以下のよう
-な文字列を返すOSさえあります。
+rubyが出力するタイムゾーン文字列はOSの実装に依存しています。以下のような文字列を返すOSさえあります。
((-Windowsで環境変数TZを設定していないときにこのようになることがあるようです。-))
$ ruby -e 'p Time.now'
Mon Sep 04 17:32:11 東京 (標準時) 2000
-また、カレントのタイムゾーンを返す実装も多く、Time.gmtime などの
-効力が及ばない場合があります。
+また、カレントのタイムゾーンを返す実装も多く、Time.gmtime などの効力が及ばない場合があります。
puts Time.now.gmtime.strftime("%H:%M %Z") #-> 06:09 GMT+9:00
diff --git a/faq/undocumented.rd b/faq/undocumented.rd
index 3be40c13..0c33e9c8 100644
--- a/faq/undocumented.rd
+++ b/faq/undocumented.rd
@@ -2,5 +2,4 @@
= 9. ドキュメントされていない機能
-基本的にドキュメントされてない機能はありません。
-書いてないことがあればそれは記述洩れです。
+基本的にドキュメントされてない機能はありません。書いてないことがあればそれは記述洩れです。
diff --git a/faq/variable.rd b/faq/variable.rd
index 682bc825..6ebd11ec 100644
--- a/faq/variable.rd
+++ b/faq/variable.rd
@@ -19,42 +19,27 @@
== 2.1 変数や定数への代入によりオブジェクトはコピーされますか
変数や定数は、あるオブジェクトを指しています。何も代入しなくても
-nilオブジェクトを指しています。代入は、変数や定数が新しいオブジェクトを
-指すようにします。
-
-したがって、代入によりオブジェクトがコピーされて新しく作られることは
-なく、右辺の表現の表しているオブジェクトを左辺の変数や定数が指すように
-することが代入によって行われます。
-
-という説明で満足していただければいいのですが、これでは満足できない
-という方もいらっしゃるかもしれません。このような理解で問題が
-生じることはないのですが、実は、((<Fixnum>))、((<NilClass>))、
-((<TrueClass>))、((<FalseClass>)) および ((<Symbol>)) クラス
-のインスタンスは、直接変数や定数が保持していますので、これらは
-代入によってコピーされることになります。これら以外のクラスのインスタンスは
-メモリの別の場所にあり、それを変数や定数が参照することになります。
+nilオブジェクトを指しています。代入は、変数や定数が新しいオブジェクトを指すようにします。
+
+したがって、代入によりオブジェクトがコピーされて新しく作られることはなく、右辺の表現の表しているオブジェクトを左辺の変数や定数が指すようにすることが代入によって行われます。
+
+という説明で満足していただければいいのですが、これでは満足できないという方もいらっしゃるかもしれません。このような理解で問題が生じることはないのですが、実は、((<Fixnum>))、((<NilClass>))、
+((<TrueClass>))、((<FalseClass>)) および ((<Symbol>)) クラスのインスタンスは、直接変数や定数が保持していますので、これらは代入によってコピーされることになります。これら以外のクラスのインスタンスはメモリの別の場所にあり、それを変数や定数が参照することになります。
((<即値と参照|FAQ::組み込みライブラリ>))を参照してください。
== 2.2 ローカル変数のスコープはどのように決められていますか
-トップレベル、クラス(モジュール)定義、メソッド定義のそれぞれで
-独立したスコープになっています。ブロック内では、新たなスコープが
-導入されるとともに、外側のローカル変数を参照できます。
+トップレベル、クラス(モジュール)定義、メソッド定義のそれぞれで独立したスコープになっています。ブロック内では、新たなスコープが導入されるとともに、外側のローカル変数を参照できます。
-ブロック内が特別になっているのは、((<Thread>))や手続きオブジェクトの
-中でローカル変数を局所化できるようにするためです。
-(({while}))、(({until}))、(({for}))は制御構造であり、新しいスコープを
-導入しません。
+ブロック内が特別になっているのは、((<Thread>))や手続きオブジェクトの中でローカル変数を局所化できるようにするためです。
+(({while}))、(({until}))、(({for}))は制御構造であり、新しいスコープを導入しません。
(({loop}))はメソッドで、後ろについているのはブロックです。
== 2.3 ローカル変数はいつ参照可能になるのでしょうか
-Rubyスクリプトは、Rubyインタプリタに実行させようとすると、
-まず最後まで一度読みこまれ、構文解析されます。構文上問題が生じなければ、
-構文解析で作られた構文木が最初から実行に移されます。
+Rubyスクリプトは、Rubyインタプリタに実行させようとすると、まず最後まで一度読みこまれ、構文解析されます。構文上問題が生じなければ、構文解析で作られた構文木が最初から実行に移されます。
-ローカル変数が参照可能になるのは、この構文解析の時にローカル変数への
-代入文が見つかった時です。
+ローカル変数が参照可能になるのは、この構文解析の時にローカル変数への代入文が見つかった時です。
for i in 1..2
if i == 2
@@ -71,12 +56,8 @@ test.rbというファイルにいれて、このスクリプトを実行する
from test.rb:1:in `each'
from test.rb:1
-ということで、(({i}))が1の時は、エラーが起こらず、(({i}))が2になった時に
-エラーが起こります。構文解析の時には、最初の(({print a}))が実際には
-(({a}))への代入が行われてから実行されるというところまで解析されず、
-この文を構文解析する時までに(({a}))への代入文が現われていないので、
-ローカル変数は参照されません。実行時には(({a}))というメソッドが
-ないか探しますが、これも定義されていないのでエラーになります。
+ということで、(({i}))が1の時は、エラーが起こらず、(({i}))が2になった時にエラーが起こります。構文解析の時には、最初の(({print a}))が実際には
+(({a}))への代入が行われてから実行されるというところまで解析されず、この文を構文解析する時までに(({a}))への代入文が現われていないので、ローカル変数は参照されません。実行時には(({a}))というメソッドがないか探しますが、これも定義されていないのでエラーになります。
逆に、次のスクリプトは、エラーになりません。
@@ -84,52 +65,36 @@ test.rbというファイルにいれて、このスクリプトを実行する
#=> nil
-ローカル変数のこのような振舞いに悩まされないためには、ローカル変数が
-参照される文より前に、(({a = nil})) といった代入文を置くことがすすめられて
-います。こうすると、ローカル変数の参照が速くなるというおまけもついて
-います。
+ローカル変数のこのような振舞いに悩まされないためには、ローカル変数が参照される文より前に、(({a = nil})) といった代入文を置くことがすすめられています。こうすると、ローカル変数の参照が速くなるというおまけもついています。
== 2.4 定数のスコープはどのように決められていますか
-クラス/モジュールで定義された定数は、そのクラス/モジュールの中で
-参照できます。
+クラス/モジュールで定義された定数は、そのクラス/モジュールの中で参照できます。
-クラス/モジュール定義がネストしている場合には、内側のクラス/モジュール
-から外側の定数を参照できます。
+クラス/モジュール定義がネストしている場合には、内側のクラス/モジュールから外側の定数を参照できます。
またスーパークラス及びインクルードしたモジュールの定数を参照できます。
-トップレベルで定義された定数は、((<Object>))クラスに追加されますので、
-すべてのクラス/モジュールから参照できます。
+トップレベルで定義された定数は、((<Object>))クラスに追加されますので、すべてのクラス/モジュールから参照できます。
-直接参照できない定数は、(({::}))演算子を使って、クラス/モジュール名を
-指定することにより参照できます。
+直接参照できない定数は、(({::}))演算子を使って、クラス/モジュール名を指定することにより参照できます。
== 2.5 実引数は仮引数にどのように渡されますか
-実引数は、メソッド呼び出しによって仮引数に代入されます。Rubyにおける
-代入の意味は、((<変数への代入|FAQ::変数、定数、引数>))を
-参照してください。
-実引数が参照しているオブジェクトが、自分の状態を変更するメソッドを
-持っている時には、副作用(それが主作用かもしれませんが)に注意する
-必要があります。((<破壊的メソッド|FAQ::メソッド>))参照。
+実引数は、メソッド呼び出しによって仮引数に代入されます。Rubyにおける代入の意味は、((<変数への代入|FAQ::変数、定数、引数>))を参照してください。実引数が参照しているオブジェクトが、自分の状態を変更するメソッドを持っている時には、副作用(それが主作用かもしれませんが)に注意する必要があります。((<破壊的メソッド|FAQ::メソッド>))参照。
== 2.6 仮引数に代入すると実引数に影響を及ぼしますか
-仮引数は、ローカル変数であり、仮引数に代入を行うと他のオブジェクトを
-指すようになるだけで、元の実引数のオブジェクトには何の影響もありません。
+仮引数は、ローカル変数であり、仮引数に代入を行うと他のオブジェクトを指すようになるだけで、元の実引数のオブジェクトには何の影響もありません。
== 2.7 仮引数の指すオブジェクトにメッセージを送るとどうなりますか
-仮引数の指すオブジェクトは、実引数の指しているオブジェクトですから、
-そのメッセージによってオブジェクトの状態が変化する場合には、呼び出し側に
-影響が及ぶことになります。((<破壊的メソッド|FAQ::メソッド>))参照。
+仮引数の指すオブジェクトは、実引数の指しているオブジェクトですから、そのメッセージによってオブジェクトの状態が変化する場合には、呼び出し側に影響が及ぶことになります。((<破壊的メソッド|FAQ::メソッド>))参照。
== 2.8 (({*}))がついた引数は何ですか
Cウィザードのみなさん、これはポインタではありません。Rubyでは引数に
-(({*}))を付けることで、不定個の引数を配列に格納した形で受け取ることがで
-きます。
+(({*}))を付けることで、不定個の引数を配列に格納した形で受け取ることができます。
def foo(*all)
for e in all
@@ -140,8 +105,7 @@ Cウィザードのみなさん、これはポインタではありません。R
foo(1, 2, 3)
#=> 1 2 3
-またメソッド呼び出しで(({*}))を付けた配列を渡すと配列を展開して渡すこと
-ができます。
+またメソッド呼び出しで(({*}))を付けた配列を渡すと配列を展開して渡すことができます。
a = [1, 2, 3]
foo(*a)
@@ -158,8 +122,7 @@ Cウィザードのみなさん、これはポインタではありません。R
x, *y = [7, 8, 9]
-のような形式で、この場合 (({x = 7}))、(({y = [8, 9]})) になり
-ます。
+のような形式で、この場合 (({x = 7}))、(({y = [8, 9]})) になります。
x, = [7, 8, 9]
@@ -171,22 +134,17 @@ Cウィザードのみなさん、これはポインタではありません。R
== 2.9 (({&}))がついた引数は何ですか
-手続きオブジェクトをブロックとして受け渡しするための引数です。
-引数列の一番最後に置きます。
+手続きオブジェクトをブロックとして受け渡しするための引数です。引数列の一番最後に置きます。
== 2.10 仮引数にデフォルト値を指定できますか
できます。
-しかもこのデフォルト値は関数の呼び出し時に評価されます。Rubyのデフォル
-ト値は任意の式が可能で(C++はコンパイル時に決まる定数のみ)、評価はメソッ
-ドのスコープで呼び出し時に行われます。
+しかもこのデフォルト値は関数の呼び出し時に評価されます。Rubyのデフォルト値は任意の式が可能で(C++はコンパイル時に決まる定数のみ)、評価はメソッドのスコープで呼び出し時に行われます。
== 2.11 ブロックに引数を渡すにはどうしますか
-ブロックの先頭に、仮引数を||で囲って置くと、実引数が多重代入されます。
-この仮引数は、普通のローカル変数で、ブロックの外側ですでに使われて
-いる変数の場合は、そのスコープになりますので、注意が必要です。
+ブロックの先頭に、仮引数を||で囲って置くと、実引数が多重代入されます。この仮引数は、普通のローカル変数で、ブロックの外側ですでに使われている変数の場合は、そのスコープになりますので、注意が必要です。
== 2.12 変数や定数の値が知らないうちに変化することがありますが
@@ -195,26 +153,14 @@ Cウィザードのみなさん、これはポインタではありません。R
A = a = b = "abc"; b << "d"; print a, " ", A
#=> abcd abcd
-変数や定数への代入は、オブジェクトを後でその変数や定数で参照する
-ために用いられます。変数や定数にオブジェクトそのものが代入されて
-いるのではなく、オブジェクトの参照を保持しているだけです。変数は、
-この参照を変更して異なるオブジェクトを参照するようにすることが
-できますが、定数では一度保持した参照を変更することができません。
+変数や定数への代入は、オブジェクトを後でその変数や定数で参照するために用いられます。変数や定数にオブジェクトそのものが代入されているのではなく、オブジェクトの参照を保持しているだけです。変数は、この参照を変更して異なるオブジェクトを参照するようにすることができますが、定数では一度保持した参照を変更することができません。
-変数や定数にメソッドを適用すると、そのメソッドは、変数や定数が
-指しているオブジェクトに適用されます。上の例では、<<というメソッドが
-オブジェクトの状態を変えてしまうために、「予期せぬ」結果が生まれて
-います。オブジェクトが数値の場合には、数値の状態を変えるメソッドが
-ないため、このような問題は生じません。数値にメソッドを適用した時には
-新しいオブジェクトが返されます。
+変数や定数にメソッドを適用すると、そのメソッドは、変数や定数が指しているオブジェクトに適用されます。上の例では、<<というメソッドがオブジェクトの状態を変えてしまうために、「予期せぬ」結果が生まれています。オブジェクトが数値の場合には、数値の状態を変えるメソッドがないため、このような問題は生じません。数値にメソッドを適用した時には新しいオブジェクトが返されます。
-この例では、文字列で示しましたが、配列やハッシュなど、オブジェクトの
-状態を変更するメソッドを持っているオブジェクトでも同様のことが起こり
-得ます。
+この例では、文字列で示しましたが、配列やハッシュなど、オブジェクトの状態を変更するメソッドを持っているオブジェクトでも同様のことが起こり得ます。
== 2.13 定数は変更されませんか
-定数があるオブジェクトを指しているとき、別のオブジェクトを指すように
-すると、warningが出ます。
+定数があるオブジェクトを指しているとき、別のオブジェクトを指すようにすると、warningが出ます。
そのオブジェクトが((<破壊的メソッド|FAQ::メソッド>))を持っていれば、オブジェクトの内容は変更できます。
diff --git a/refm/api/src/Win32API.rd b/refm/api/src/Win32API.rd
index 09413b04..117553e6 100644
--- a/refm/api/src/Win32API.rd
+++ b/refm/api/src/Win32API.rd
@@ -125,8 +125,7 @@ nil の場合は引数なしと見なされます。
第 4 引数 export には func の戻り値の型を指定します。
nil の場合は戻り値なし (void) と見なされます。
-第 3 引数 import と第 4 引数 export で
-型を指定するには以下の文字列を用います。
+第 3 引数 import と第 4 引数 export で型を指定するには以下の文字列を用います。
: "p"
ポインタ
@@ -144,10 +143,7 @@ nil の場合は戻り値なし (void) と見なされます。
--- Call(*args)
#@todo
-API を呼び出します。
-指定する引数と戻り値は [[m:Win32API.new]] の引数の指定に従います。
-特にポインタを渡してそのポインタの指す領域に値が設定される場合は
-その領域をあらかじめ確保しておく必要があります。
+API を呼び出します。指定する引数と戻り値は [[m:Win32API.new]] の引数の指定に従います。特にポインタを渡してそのポインタの指す領域に値が設定される場合はその領域をあらかじめ確保しておく必要があります。
例えば、引数のバッファに書き込む関数を呼び出すには以下のようにします。
diff --git a/refm/api/src/_builtin.rd b/refm/api/src/_builtin.rd
index 1d39aee2..d6ae131b 100644
--- a/refm/api/src/_builtin.rd
+++ b/refm/api/src/_builtin.rd
@@ -1,7 +1,6 @@
category Builtin
-組み込みライブラリは Ruby 本体に組み込まれているライブラリです。
-このライブラリに含まれるクラスやモジュールは、
+組み込みライブラリは Ruby 本体に組み込まれているライブラリです。このライブラリに含まれるクラスやモジュールは、
require を書かなくても使うことができます。
#@include(_builtin/ARGF)
diff --git a/refm/api/src/_builtin/ARGF b/refm/api/src/_builtin/ARGF
index 3bbe99ee..0f35a6cb 100644
--- a/refm/api/src/_builtin/ARGF
+++ b/refm/api/src/_builtin/ARGF
@@ -1,8 +1,7 @@
= object ARGF < ARGF.class
スクリプトに指定した引数
-([[m:Object::ARGV]] を参照) をファイル名とみなして、
-それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。
+([[m:Object::ARGV]] を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。
ARGV が空なら標準入力を対象とします。
ARGV を変更すればこのオブジェクトの動作に影響します。
@@ -22,8 +21,7 @@ ARGV を変更すればこのオブジェクトの動作に影響します。
のように動作します。
-ARGF を処理するごとに ARGV の要素は一つずつ取り除かれます。
-最後まで ARGF を読み込んだ後、再度 ARGF から内容を読むと
+ARGF を処理するごとに ARGV の要素は一つずつ取り除かれます。最後まで ARGF を読み込んだ後、再度 ARGF から内容を読むと
(ARGV が空なので)標準入力からの読み込みとなります。
ARGV.replace %w(/tmp/foo /tmp/bar)
@@ -41,18 +39,15 @@ ARGF を処理するごとに ARGV の要素は一つずつ取り除かれます
[[m:Kernel.#gets]] など一部の組み込み関数は
ARGF.gets などこのオブジェクトをレシーバとしたメソッドの省略形です。
-また、ARGF は [[c:ARGF.class]] クラスのインスタンスです。
-各メソッドの詳細は [[c:ARGF.class]] を参照してください。
+また、ARGF は [[c:ARGF.class]] クラスのインスタンスです。各メソッドの詳細は [[c:ARGF.class]] を参照してください。
===[a:inplace] インプレースエディットモード
インプレースエディット (in-place edit) モードは Ruby のコマンドライン引数に指定されたファイルの内容を置き換えます。
-コマンドラインオプションで -i を指定すると Ruby はこのモードで動作します。
-また [[m:ARGF.class#inplace_mode=]] を使用して起動後にモードに入ることも出来ます。
+コマンドラインオプションで -i を指定すると Ruby はこのモードで動作します。また [[m:ARGF.class#inplace_mode=]] を使用して起動後にモードに入ることも出来ます。
-このモードで動作中は [[m:$stdout]] が処理対象への書き出しストリームで置き換えられます。
-実行例は [[ref:d:spec/rubycmd#cmd_option]] や [[m:ARGF.class#inplace_mode=]] を参照してください。
+このモードで動作中は [[m:$stdout]] が処理対象への書き出しストリームで置き換えられます。実行例は [[ref:d:spec/rubycmd#cmd_option]] や [[m:ARGF.class#inplace_mode=]] を参照してください。
= class ARGF.class
@@ -67,8 +62,7 @@ extend Enumerable
現在開いている処理対象のファイル名を返します。
-標準入力に対しては - を返します。
-組み込み変数 [[m:$FILENAME]] と同じです。
+標準入力に対しては - を返します。組み込み変数 [[m:$FILENAME]] と同じです。
$ echo "foo" > foo
$ echo "bar" > bar
@@ -89,8 +83,7 @@ extend Enumerable
--- file -> IO
-現在開いている処理対象の [[c:File]] オブジェクト(または [[c:IO]] オブジェ
-クト)を返します。
+現在開いている処理対象の [[c:File]] オブジェクト(または [[c:IO]] オブジェクト)を返します。
$ echo "foo" > foo
$ echo "bar" > bar
@@ -105,8 +98,7 @@ ARGFが現在開いている処理対象が標準入力の場合、$stdin を返
--- lineno -> Integer
-全引数ファイルを一つのファイルとみなしたときの現在の行番号を返します。
-個々の引数ファイル毎の行番号を得るには ARGF.file.lineno とします。
+全引数ファイルを一つのファイルとみなしたときの現在の行番号を返します。個々の引数ファイル毎の行番号を得るには ARGF.file.lineno とします。
この値を書き換えたい場合は [[m:ARGF.class#lineno=]] を使用してください。
@@ -134,8 +126,7 @@ ARGFが現在開いている処理対象が標準入力の場合、$stdin を返
--- skip -> self
-現在開いている処理対象のファイルをクローズします。
-次回の読み込みは次の引数が処理対象になります。
+現在開いている処理対象のファイルをクローズします。次回の読み込みは次の引数が処理対象になります。
self を返します。
$ echo "foo" > foo
@@ -148,8 +139,7 @@ self を返します。
--- binmode -> self
-self をバイナリモードにします。一度バイナリモードになった後は非バイナリ
-モードに戻る事はできません。
+self をバイナリモードにします。一度バイナリモードになった後は非バイナリモードに戻る事はできません。
バイナリモード下では以下のように動作します。
@@ -180,8 +170,7 @@ self をバイナリモードにします。一度バイナリモードになっ
--- binmode? -> bool
-ARGF の入力ストリームがバイナリモードなら true を返します。
-そうでない場合、false を返します。
+ARGF の入力ストリームがバイナリモードなら true を返します。そうでない場合、false を返します。
バイナリモードにするためには [[m:ARGF.class#binmode]] を使用します。
@@ -193,9 +182,7 @@ ARGF の入力ストリームがバイナリモードなら true を返します
--- close -> self
-現在開いている処理対象のファイルをクローズします。開くファイルが残って
-いる場合は次のファイルをオープンします。
-ただし、標準入力はクローズされません。
+現在開いている処理対象のファイルをクローズします。開くファイルが残っている場合は次のファイルをオープンします。ただし、標準入力はクローズされません。
$ echo "foo" > foo
$ echo "bar" > bar
@@ -243,16 +230,11 @@ ARGF の入力ストリームがバイナリモードなら true を返します
--- each(rs = $/, limit) -> Enumerator
--- each_line(rs = $/, limit) -> Enumerator
-ARGFの現在位置から 1 行ずつ文字列として読み込み、それを引数として与えら
-れたブロックを実行します。
+ARGFの現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
-ブロックが与えられなかった場合は、[[c:Enumerator]] オブジェクトを生成し
-て返します。
+ブロックが与えられなかった場合は、[[c:Enumerator]] オブジェクトを生成して返します。
-このメソッドはスクリプトに指定した引数([[m:Object::ARGV]] を参照) をファ
-イル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオ
-ブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイ
-ルの内容を返します。現在の行についてファイル名や行数を得るには
+このメソッドはスクリプトに指定した引数([[m:Object::ARGV]] を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内容を返します。現在の行についてファイル名や行数を得るには
[[m:ARGF.class#filename]] と [[m:ARGF.class#lineno]] を使用します。
@param rs 行の区切りを文字列で指定します。nil を指定すると行区切りなし
@@ -273,13 +255,9 @@ ARGFの現在位置から 1 行ずつ文字列として読み込み、それを
--- each_byte { |byte| ...} -> self
--- each_byte -> Enumerator
-ARGF の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
-ブロック引数byteは0..255のいずれかの整数です。
+ARGF の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。ブロック引数byteは0..255のいずれかの整数です。
-このメソッドはスクリプトに指定した引数([[m:Object::ARGV]] を参照) をファ
-イル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオ
-ブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイ
-ルの内容を返します。現在位置の1バイトについてファイル名を得るには
+このメソッドはスクリプトに指定した引数([[m:Object::ARGV]] を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内容を返します。現在位置の1バイトについてファイル名を得るには
[[m:ARGF.class#filename]] を使用します。
ブロックが与えられなかった場合は、[[c:Enumerator]] オブジェクトを生成して返します。
@@ -293,23 +271,17 @@ ARGF の現在位置から 1 バイトずつ読み込み、それを整数とし
--- bytes { |byte| ... } -> self
--- bytes -> Enumerator
-このメソッドは obsolete です。
-代わりに [[m:ARGF.class#each_byte]] を使用してください。
-使用すると警告メッセージが表示されます。
+このメソッドは obsolete です。代わりに [[m:ARGF.class#each_byte]] を使用してください。使用すると警告メッセージが表示されます。
--- each_char { |c| ... } -> self
--- each_char -> Enumerator
レシーバに含まれる文字を一文字ずつブロックに渡して評価します。
-このメソッドはスクリプトに指定した引数([[m:Object::ARGV]] を参照) をファ
-イル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオ
-ブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイ
-ルの内容を返します。現在位置の1文字についてファイル名を得るには
+このメソッドはスクリプトに指定した引数([[m:Object::ARGV]] を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内容を返します。現在位置の1文字についてファイル名を得るには
[[m:ARGF.class#filename]] を使用します。
-ブロックが与えられなかった場合は、[[c:Enumerator]] オブジェクトを生成し
-て返します。
+ブロックが与えられなかった場合は、[[c:Enumerator]] オブジェクトを生成して返します。
例:
# $ echo "line1\n" > test1.txt
@@ -338,9 +310,7 @@ ARGF の現在位置から 1 バイトずつ読み込み、それを整数とし
--- chars { |c| ... } -> self
--- chars -> Enumerator
-このメソッドは obsolete です。
-代わりに [[m:ARGF.class#each_char]] を使用してください。
-使用すると警告メッセージが表示されます。
+このメソッドは obsolete です。代わりに [[m:ARGF.class#each_char]] を使用してください。使用すると警告メッセージが表示されます。
--- each_codepoint { |c| ... } -> self
--- each_codepoint -> Enumerator
@@ -364,9 +334,7 @@ self の各コードポイントに対して繰り返しブロックを呼びだ
--- codepoints { |c| ... } -> self
--- codepoints -> Enumerator
-このメソッドは obsolete です。
-代わりに [[m:ARGF.class#each_codepoint]] を使用してください。
-使用すると警告メッセージが表示されます。
+このメソッドは obsolete です。代わりに [[m:ARGF.class#each_codepoint]] を使用してください。使用すると警告メッセージが表示されます。
--- eof -> bool
--- eof? -> bool
@@ -399,10 +367,7 @@ falseを返します。
self から 1 文字読み込んで返します。EOF に到達した時には nil を返します。
-ARGF はスクリプトに指定した引数([[m:Object::ARGV]] を参照) をファイル名
-とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェ
-クトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内
-容を返します。
+ARGF はスクリプトに指定した引数([[m:Object::ARGV]] を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内容を返します。
$ echo "foo" > file1
$ echo "bar" > file2
@@ -430,8 +395,7 @@ ARGF はスクリプトに指定した引数([[m:Object::ARGV]] を参照) を
--- gets(rs, limit) -> String | nil
#@end
-ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時に
-は nil を返します。
+ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時には nil を返します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切
りなしとみなします。空文字列 "" を指定すると連続する改行を行
@@ -477,8 +441,7 @@ ARGFの現在位置から一行ずつ文字列として読み込みます。EOF
--- pos -> Integer
--- tell -> Integer
-ARGFが現在開いているファイルのファイルポインタの現在の位置をバイト単位
-の整数で返します。
+ARGFが現在開いているファイルのファイルポインタの現在の位置をバイト単位の整数で返します。
ARGF.pos # => 0
ARGF.gets # => "This is line one\n"
@@ -499,8 +462,7 @@ ARGFが開いているファイルのファイルポインタを指定位置に
--- read(length = nil, str = nil) -> String | nil
-ARGVに指定されたファイルを先頭のファイルからlengthバイト読み込み、
-その文字列をstrに出力します。読み込んだ文字列を返します。
+ARGVに指定されたファイルを先頭のファイルからlengthバイト読み込み、その文字列をstrに出力します。読み込んだ文字列を返します。
@param length 読み込むバイト数を指定します nilの場合はARGVのすべてのファ
イルを読み込みます。
@@ -520,8 +482,7 @@ ARGVに指定されたファイルを先頭のファイルからlengthバイト
--- readchar -> Integer
-ARGFから 1 文字読み込んで、その文字に対応する Fixnum を返します。EOF に
-到達した時には EOFErrorを発生します。
+ARGFから 1 文字読み込んで、その文字に対応する Fixnum を返します。EOF に到達した時には EOFErrorを発生します。
@raise EOFError EOFに達した時発生する
@@ -540,8 +501,7 @@ ARGFから 1 文字読み込んで、その文字に対応する Fixnum を返
--- readline(limit) -> String
--- readline(rs, limit) -> String
-ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時に
-は [[c:EOFError]] を発生します。
+ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時には [[c:EOFError]] を発生します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切
りなしとみなします。空文字列 "" を指定すると連続する改行を行
@@ -560,8 +520,7 @@ ARGFの現在位置から一行ずつ文字列として読み込みます。EOF
--- to_a(limit) { |line| ... } -> self
--- to_a(rs, limit) { |line| ... } -> self
-ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルを
-すべて読み込んだ配列を返します。
+ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルをすべて読み込んだ配列を返します。
@param rs 行区切り文字
@@ -593,8 +552,7 @@ offset だけ移動させます。 offset 位置への移動が成功すれば 0
--- to_io -> IO
-ARGFが現在開いているファイルの[[c:File]]、または[[c:IO]]オブジェクトを
-返します。
+ARGFが現在開いているファイルの[[c:File]]、または[[c:IO]]オブジェクトを返します。
ARGF.to_io # => #<File:glark.txt>
ARGF.to_io # => #<IO:<STDIN>>
@@ -608,21 +566,15 @@ ARGFが現在開いているファイルの[[c:File]]、または[[c:IO]]オブ
--- lines(limit) -> Enumerator
--- lines(rs, limit) -> Enumerator
-このメソッドは obsolete です。
-代わりに [[m:ARGF.class#each_line]] を使用してください。
-使用すると警告メッセージが表示されます。
+このメソッドは obsolete です。代わりに [[m:ARGF.class#each_line]] を使用してください。使用すると警告メッセージが表示されます。
@see [[m:$/]], [[m:ARGF.class#each_line]]
--- getbyte -> Integer | nil
-self から 1 バイト(0..255)を読み込み整数として返します。
-既に EOF に達していれば nil を返します。
+self から 1 バイト(0..255)を読み込み整数として返します。既に EOF に達していれば nil を返します。
-ARGF はスクリプトに指定した引数([[m:Object::ARGV]] を参照) をファイル名
-とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェ
-クトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内
-容を返します。
+ARGF はスクリプトに指定した引数([[m:Object::ARGV]] を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内容を返します。
$ echo "foo" > file1
$ echo "bar" > file2
@@ -642,8 +594,7 @@ ARGF はスクリプトに指定した引数([[m:Object::ARGV]] を参照) を
--- readbyte -> Integer
-自身から 1 バイトを読み込み整数として返します。
-既に EOF に達していれば EOFError が発生します。
+自身から 1 バイトを読み込み整数として返します。既に EOF に達していれば EOFError が発生します。
@raise EOFError 既に EOF に達している場合に発生します。
@@ -658,8 +609,7 @@ ARGF はスクリプトに指定した引数([[m:Object::ARGV]] を参照) を
--- readpartial(maxlen, outbuf = nil) -> String
-[[m:IO#readpartial]]を参照。[[m:ARGF.class#read]] などとは違って複数ファ
-イルを同時に読み込むことはありません。
+[[m:IO#readpartial]]を参照。[[m:ARGF.class#read]] などとは違って複数ファイルを同時に読み込むことはありません。
@param maxlen 読み込む長さの上限を整数で指定します。
@param outbuf 読み込んだデータを格納する [[c:String]] オブジェクトを指定します。
@@ -680,8 +630,7 @@ ARGF が ARGV をどう扱うかについては [[c:ARGF]] を参照してくだ
--- external_encoding -> Encoding
-ARGF が処理するファイルに対する外部エンコーディングを返します。
-デフォルトは [[m:Encoding.default_external]] です。
+ARGF が処理するファイルに対する外部エンコーディングを返します。デフォルトは [[m:Encoding.default_external]] です。
[[m:ARGF.class#set_encoding]] で設定します。
@@ -693,8 +642,7 @@ ARGF が処理するファイルに対する外部エンコーディングを返
--- internal_encoding -> Encoding | nil
-ARGF から読み込んだ文字列の内部エンコーディングを返します。
-内部エンコーディングが指定されていない場合は nil を返します。
+ARGF から読み込んだ文字列の内部エンコーディングを返します。内部エンコーディングが指定されていない場合は nil を返します。
まだ読み込み処理を始めていない場合は [[m:Encoding.default_external]] を返します。
@@ -719,11 +667,9 @@ ARGF から読み込んだ文字列の内部エンコーディングを返しま
--- set_encoding(enc_str, options = {}) -> self
--- set_encoding(ext_enc, int_enc, options = {}) -> self
-ARGF の外部/内部エンコーディングを設定します。
-次以降に処理するファイルにも同じ設定が適用されます。
+ARGF の外部/内部エンコーディングを設定します。次以降に処理するファイルにも同じ設定が適用されます。
-外部エンコーディングは ARGF を介して読み込むファイルの、
-内部エンコーディングは読み込んだ文字列のエンコーディングです。
+外部エンコーディングは ARGF を介して読み込むファイルの、内部エンコーディングは読み込んだ文字列のエンコーディングです。
詳しくは [[m:IO#set_encoding]] を参照してください。
@@ -740,9 +686,7 @@ ARGF の外部/内部エンコーディングを設定します。
--- inplace_mode -> String | nil
-[[ref:c:ARGF#inplace]] で書き換えるファイルのバックアップに付加される拡
-張子を返します。拡張子が設定されていない場合は空文字列を返します。イン
-プレースモードでない場合は nil を返します。
+[[ref:c:ARGF#inplace]] で書き換えるファイルのバックアップに付加される拡張子を返します。拡張子が設定されていない場合は空文字列を返します。インプレースモードでない場合は nil を返します。
Ruby 起動時の -i オプション や [[m:ARGF.class#inplace_mode=]] で設定します。
@@ -769,15 +713,12 @@ Ruby 起動時の -i オプション や [[m:ARGF.class#inplace_mode=]] で設
--- inplace_mode=(ext)
-[[ref:c:ARGF#inplace]]時にバックアップファイルに付加する拡張子を設定します。
-ピリオドも含めて指定する必要があります。
+[[ref:c:ARGF#inplace]]時にバックアップファイルに付加する拡張子を設定します。ピリオドも含めて指定する必要があります。
バックアップを残さない場合は空文字列を指定します。
-#@# 要確認。分岐はないように見える。
-この機能は Windows では使用出来ません。
+#@# 要確認。分岐はないように見える。この機能は Windows では使用出来ません。
-設定が有効になるのは次のファイルの処理に移った時です。
-インプレースモードに入っていない場合はその時点でモードに入ります。
+設定が有効になるのは次のファイルの処理に移った時です。インプレースモードに入っていない場合はその時点でモードに入ります。
Ruby 起動時の -i オプションで設定することも出来ます。
@@ -807,20 +748,15 @@ Ruby 起動時の -i オプションで設定することも出来ます。
引数を順に処理対象のファイルに出力します。
-[[ref:c:ARGF#inplace]]時にのみ使用できます。
-また [[m:$stdout]] への代入の影響を受けません。
-それ以外は [[m:Kernel.#print]] と同じです。
+[[ref:c:ARGF#inplace]]時にのみ使用できます。また [[m:$stdout]] への代入の影響を受けません。それ以外は [[m:Kernel.#print]] と同じです。
@param arg 出力するオブジェクトを任意個指定します。
--- printf(format, *arg) -> nil
-C 言語の printf と同じように、format に従い引数を
-文字列に変換して処理対象のファイルに出力します。
+C 言語の printf と同じように、format に従い引数を文字列に変換して処理対象のファイルに出力します。
-[[ref:c:ARGF#inplace]]時にのみ使用できます。
-また [[m:$stdout]] への代入の影響を受けません。
-それ以外は出力先を指定しない形式の [[m:Kernel.#printf]] と同じです。
+[[ref:c:ARGF#inplace]]時にのみ使用できます。また [[m:$stdout]] への代入の影響を受けません。それ以外は出力先を指定しない形式の [[m:Kernel.#printf]] と同じです。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@@ -831,20 +767,15 @@ C 言語の printf と同じように、format に従い引数を
文字 ch を処理対象のファイルに出力します。
ch を返します。
-[[ref:c:ARGF#inplace]]時にのみ使用できます。
-また [[m:$stdout]] への代入の影響を受けません。
-それ以外は [[m:Kernel.#putc]] と同じです。
+[[ref:c:ARGF#inplace]]時にのみ使用できます。また [[m:$stdout]] への代入の影響を受けません。それ以外は [[m:Kernel.#putc]] と同じです。
@param ch 出力する文字を [[c:String]] オブジェクトで指定します。
--- puts(*arg) -> nil
-引数と改行を順番に処理対象のファイルに出力します。
-引数がなければ改行のみを出力します。
+引数と改行を順番に処理対象のファイルに出力します。引数がなければ改行のみを出力します。
-[[ref:c:ARGF#inplace]]時にのみ使用できます。
-また [[m:$stdout]] への代入の影響を受けません。
-それ以外は [[m:Kernel.#puts]] と同じです。
+[[ref:c:ARGF#inplace]]時にのみ使用できます。また [[m:$stdout]] への代入の影響を受けません。それ以外は [[m:Kernel.#puts]] と同じです。
@param arg 出力するオブジェクトを任意個指定します。
@@ -855,9 +786,7 @@ ch を返します。
#@end
#@# TODO: Windows では使えない?
-処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。
-第二の形式では読み込んだデータを outbuf に破壊的に格納してそれを返します。
-詳しくは [[m:IO#read_nonblock]] を参照してください。
+処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。第二の形式では読み込んだデータを outbuf に破壊的に格納してそれを返します。詳しくは [[m:IO#read_nonblock]] を参照してください。
[[m:ARGF.class#read]] などとは違って複数ファイルを同時に読み込むことはありません。
@@ -877,14 +806,12 @@ ch を返します。
処理対象のファイルへの書き出し用 [[c:IO]] オブジェクトを返します。
-[[ref:c:ARGF#inplace]]時以外は読み込み用の IO オブジェクトを返します。
-このため [[m:ARGF.class#write]] などの書き出し用メソッドを呼ぶと [[c:IOError]] が発生します。
+[[ref:c:ARGF#inplace]]時以外は読み込み用の IO オブジェクトを返します。このため [[m:ARGF.class#write]] などの書き出し用メソッドを呼ぶと [[c:IOError]] が発生します。
--- write(str) -> Integer
処理対象のファイルに対して str を出力します。
-str が文字列でなければ to_s による文字列化を試みます。
-実際に出力できたバイト数を返します。
+str が文字列でなければ to_s による文字列化を試みます。実際に出力できたバイト数を返します。
[[ref:c:ARGF#inplace]]時にのみ使用できます。
diff --git a/refm/api/src/_builtin/Array b/refm/api/src/_builtin/Array
index 7a399b9e..96ef758e 100644
--- a/refm/api/src/_builtin/Array
+++ b/refm/api/src/_builtin/Array
@@ -1,8 +1,7 @@
= class Array < Object
include Enumerable
-配列クラスです。
-配列は任意の Ruby オブジェクトを要素として持つことができます。
+配列クラスです。配列は任意の Ruby オブジェクトを要素として持つことができます。
一般的には配列は配列式を使って
@@ -16,8 +15,7 @@ include Enumerable
--- try_convert(obj) -> Array | nil
to_ary メソッドを用いて obj を配列に変換しようとします。
-何らかの理由で変換できないときには nil を返します。
-このメソッドは引数が配列であるかどうかを調べるために使えます。
+何らかの理由で変換できないときには nil を返します。このメソッドは引数が配列であるかどうかを調べるために使えます。
例:
@@ -36,8 +34,7 @@ to_ary メソッドを用いて obj を配列に変換しようとします。
引数 item を要素として持つ配列を生成して返します。
-[[c:Array]] のサブクラスを作成したしたときに、そのサブクラスのインスタンスを作成
-しやすくするために用意されている。
+[[c:Array]] のサブクラスを作成したしたときに、そのサブクラスのインスタンスを作成しやすくするために用意されている。
@param item 配列の要素を指定します。
@@ -54,9 +51,7 @@ to_ary メソッドを用いて obj を配列に変換しようとします。
長さ size の配列を生成し、各要素を val で初期化して返します。
-要素毎に val が複製されるわけではないことに注意してください。
-全要素が同じオブジェクト val を参照します。
-後述の例では、配列の各要素は全て同一の文字列を指します。
+要素毎に val が複製されるわけではないことに注意してください。全要素が同じオブジェクト val を参照します。後述の例では、配列の各要素は全て同一の文字列を指します。
@param size 配列の長さを数値で指定します。
@@ -91,8 +86,7 @@ to_ary メソッドを用いて obj を配列に変換しようとします。
--- new(size) {|index| ... } -> Array
-長さ size の配列を生成し、各要素のインデックスを引数としてブロックを実行し、
-各要素の値をブロックの評価結果に設定します。
+長さ size の配列を生成し、各要素のインデックスを引数としてブロックを実行し、各要素の値をブロックの評価結果に設定します。
ブロックは要素毎に実行されるので、全要素をあるオブジェクトの複製にすることができます。
@@ -200,8 +194,7 @@ length が負の時、start が自身の範囲を越えた時には nil を返
--- []=(nth, val)
-nth 番目の要素を val に設定します。nth が配列の範囲を越える時には配列の長さを自動的に拡張し、
-拡張した領域を nil で初期化します。
+nth 番目の要素を val に設定します。nth が配列の範囲を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
@param nth インデックスを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
@@ -352,8 +345,7 @@ start が自身の末尾を越える時には配列の長さを自動的に拡
--- *(times) -> Array
-配列の内容を times 回 繰り返した新しい配列を作成して返します。
-値はコピーされないことに注意してください[[trap:Array]]。
+配列の内容を times 回 繰り返した新しい配列を作成して返します。値はコピーされないことに注意してください[[trap:Array]]。
@param times 繰り返したい回数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによ
@@ -387,9 +379,7 @@ start が自身の末尾を越える時には配列の長さを自動的に拡
要素の同一性は [[m:Object#eql?]] により評価されます。
self 中で重複していて、other中に存在していなかった要素は、その重複が保持されます。
#@else
-重複する要素は取り除かれます。
-要素の同一性は [[m:Object#===]] が使われます。
-新しい配列における要素の順は self における要素の順と同じです。
+重複する要素は取り除かれます。要素の同一性は [[m:Object#===]] が使われます。新しい配列における要素の順は self における要素の順と同じです。
#@end
@param other 自身から取り除きたい要素の配列を指定します。
@@ -407,8 +397,7 @@ self 中で重複していて、other中に存在していなかった要素は
--- &(other) -> Array
-集合の積演算です。両方の配列に含まれる要素からなる新しい配列を返
-します。重複する要素は取り除かれます。
+集合の積演算です。両方の配列に含まれる要素からなる新しい配列を返します。重複する要素は取り除かれます。
要素の重複判定は、[[m:Object#eql?]] により行われます。
@@ -427,8 +416,7 @@ self 中で重複していて、other中に存在していなかった要素は
--- |(other) -> Array
-集合の和演算です。両方の配列にいずれかに含まれる要素を全て含む新し
-い配列を返します。重複する要素は取り除かれます。
+集合の和演算です。両方の配列にいずれかに含まれる要素を全て含む新しい配列を返します。重複する要素は取り除かれます。
要素の重複判定は、[[m:Object#eql?]] により行われます。
@@ -453,8 +441,7 @@ self 中で重複していて、other中に存在していなかった要素は
ary << 2
p ary # [1, 2]
-またこのメソッドは self を返すので、以下のように連続して
-書くことができます。
+またこのメソッドは self を返すので、以下のように連続して書くことができます。
ary = [1]
ary << 2 << 3 << 4
@@ -470,9 +457,7 @@ self 中で重複していて、other中に存在していなかった要素は
--- <=>(other) -> -1 | 0 | 1
#@end
-自身と other の各要素をそれぞれ順に <=> で比較していき、結果が 0 でなかった場合に
-その値を返します。各要素が等しく、配列の長さも等しい場合には 0 を返します。
-各要素が等しいまま一方だけ配列の末尾に達した時、自身の方が短ければ -1 をそうでなければ 1
+自身と other の各要素をそれぞれ順に <=> で比較していき、結果が 0 でなかった場合にその値を返します。各要素が等しく、配列の長さも等しい場合には 0 を返します。各要素が等しいまま一方だけ配列の末尾に達した時、自身の方が短ければ -1 をそうでなければ 1
を返します。
#@since 1.9.2
other に配列以外のオブジェクトを指定した場合は nil を返します。
@@ -493,8 +478,7 @@ other に配列以外のオブジェクトを指定した場合は nil を返し
--- ==(other) -> bool
-自身と other の各要素をそれぞれ順に == で比較し
-て、全要素が等しければ true を返します。そうでない場合には false を返します。
+自身と other の各要素をそれぞれ順に == で比較して、全要素が等しければ true を返します。そうでない場合には false を返します。
@param other 自身と比較したい配列を指定します。
@@ -506,8 +490,7 @@ other に配列以外のオブジェクトを指定した場合は nil を返し
--- assoc(key) -> Array | nil
-配列の配列を検索して、その 0 番目の要素が key に == で等しい
-最初の要素を返します。該当する要素がなければ nil を返します。
+配列の配列を検索して、その 0 番目の要素が key に == で等しい最初の要素を返します。該当する要素がなければ nil を返します。
@param key 検索するオブジェクトを指定します。
@@ -532,9 +515,7 @@ other に配列以外のオブジェクトを指定した場合は nil を返し
レシーバと同じ内容を持つ新しい配列を返します。
clone は frozen tainted singleton-class の情報も含めてコピーしますが、
-dup は内容だけをコピーします。
-またどちらのメソッドも要素それ自体のコピーはしません。
-つまり「浅い(shallow)」コピーを行います。
+dup は内容だけをコピーします。またどちらのメソッドも要素それ自体のコピーはしません。つまり「浅い(shallow)」コピーを行います。
ary = ['string']
p ary #=> ["string"]
@@ -557,8 +538,7 @@ dup は内容だけをコピーします。
#@end
#@end
-各要素を順番にブロックに渡して評価し、その結果で要素を
-置き換えます。
+各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。
#@since 1.8.7
ブロックが与えられなかった場合は、自身と map! から生成した
@@ -592,8 +572,7 @@ dup は内容だけをコピーします。
--- compact! -> self | nil
compact は自身から nil を取り除いた配列を生成して返します。
-compact! は自身から破壊的に nil を取り除き、変更が
-行われた場合は self を、そうでなければ nil を返します。
+compact! は自身から破壊的に nil を取り除き、変更が行われた場合は self を、そうでなければ nil を返します。
ary = [1, nil, 2, nil, 3, nil]
p ary.compact #=> [1, 2, 3]
@@ -646,8 +625,7 @@ see [[m:Array#+]]
#@end
そうでない場合には nil を返します。
-ブロックが与えられた場合、val と等しい要素が見つからなかったときにブロッ
-クを評価してその結果を返します。
+ブロックが与えられた場合、val と等しい要素が見つからなかったときにブロックを評価してその結果を返します。
@param val 自身から削除したい値を指定します。
@@ -667,8 +645,7 @@ see [[m:Array#+]]
指定された位置 pos にある要素を取り除きそれを返します。
pos が範囲外であったら nil を返します。
-[[m:Array#at]] と同様に負のインデックスで末尾から位置を指定するこ
-とができます。
+[[m:Array#at]] と同様に負のインデックスで末尾から位置を指定することができます。
@param pos 削除したい要素のインデックスを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
@@ -704,8 +681,7 @@ delete_if は常に self を返しますが、reject! は要素が 1 つ以上
#@else
[[c:Enumerable::Enumerator]] オブジェクトを返します。
#@end
-返された Enumerator オブジェクトの each メソッドには、
-もとの配列に対して副作用があることに注意してください。
+返された Enumerator オブジェクトの each メソッドには、もとの配列に対して副作用があることに注意してください。
#@end
例:
@@ -819,8 +795,7 @@ delete_if は常に self を返しますが、reject! は要素が 1 つ以上
--- eql?(other) -> bool
自身と other の各要素をそれぞれ順に
-[[m:Object#eql?]] で比較して、全要素が等しければ真を返
-します。そうでない場合に false を返します。
+[[m:Object#eql?]] で比較して、全要素が等しければ真を返します。そうでない場合に false を返します。
@param other 自身と比較したい配列を指定します。
@@ -836,10 +811,7 @@ delete_if は常に self を返しますが、reject! は要素が 1 つ以上
nth 番目の要素を返します。
-[[m:Array#[] ]](nth) とは nth 番目の要素が存在しない場合の振舞いが異
-なります。最初の形式では、例外 [[c:IndexError]] が発生します。
-二番目の形式では、引数 ifnone を返します。
-三番目の形式では、ブロックを評価した結果を返します。
+[[m:Array#[] ]](nth) とは nth 番目の要素が存在しない場合の振舞いが異なります。最初の形式では、例外 [[c:IndexError]] が発生します。二番目の形式では、引数 ifnone を返します。三番目の形式では、ブロックを評価した結果を返します。
@param nth 取得したい要素のインデックスを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
@@ -877,8 +849,7 @@ nth 番目の要素を返します。
すべての要素に val をセットします。
-このメソッドが val のコピーでなく val 自身をセットする
-ことに注意してください([[trap:Array]])。
+このメソッドが val のコピーでなく val 自身をセットすることに注意してください([[trap:Array]])。
val の代わりにブロックを指定するとブロックの評価結果を値とします。
@param val 自身にセットしたいオブジェクトを指定します。
@@ -902,18 +873,13 @@ val の代わりにブロックを指定するとブロックの評価結果を
配列の指定された範囲すべてに val をセットします。
-範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
-範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
-このメソッドが val のコピーでなく val 自身をセットすることに注意してください([[trap:Array]])。
+範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。このメソッドが val のコピーでなく val 自身をセットすることに注意してください([[trap:Array]])。
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
#@since 1.8.0
-val の代わりにブロックを指定するとブロックの評価結果を値とし
-ます。ブロックは要素毎に実行されるので、セットする値のそれぞれをあ
-るオブジェクトの複製にすることができます。
-ブロックのパラメータには start からのインデックスが渡されます。
+val の代わりにブロックを指定するとブロックの評価結果を値とします。ブロックは要素毎に実行されるので、セットする値のそれぞれをあるオブジェクトの複製にすることができます。ブロックのパラメータには start からのインデックスが渡されます。
ary = []
p ary.fill(1..2) {|i| i} # => [nil, 1, 2]
@@ -987,9 +953,7 @@ val の代わりにブロックを指定するとブロックの評価結果を
--- flatten! -> self | nil
#@end
-flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は
-自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない
-場合は nil を返します。
+flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない場合は nil を返します。
#@since 1.8.7
lv が指定された場合、lv の深さまで再帰的に平坦化します。
#@end
@@ -1027,8 +991,7 @@ lv が指定された場合、lv の深さまで再帰的に平坦化します
--- hash -> Integer
-自身のハッシュ値を整数で返します。ハッシュ値は自身の各要素のハッシュ値から
-計算されます。[[m:Array#eql?]] で比較して等しい配列同士は同じハッシュ値を返します。
+自身のハッシュ値を整数で返します。ハッシュ値は自身の各要素のハッシュ値から計算されます。[[m:Array#eql?]] で比較して等しい配列同士は同じハッシュ値を返します。
a = ["a", "b", 1]
a.hash #=> 321
@@ -1066,17 +1029,14 @@ lv が指定された場合、lv の深さまで再帰的に平坦化します
@param val 位置を知りたいオブジェクトを指定します。
-指定された val と == で等しい最初の要素の位置を返します。
-等しい要素がひとつもなかった場合は nil を返します。
+指定された val と == で等しい最初の要素の位置を返します。等しい要素がひとつもなかった場合は nil を返します。
p [1, 0, 0, 1, 0].index(1) #=> 0
p [1, 0, 0, 0, 0].index(1) #=> 0
p [0, 0, 0, 0, 0].index(1) #=> nil
#@since 1.8.7
-ブロックが与えられた場合には、各要素を引数として順にブロックを実行し、
-ブロックが真を返した最初の要素の位置を返します。
-一つも真にならなかった場合は nil を返します。
+ブロックが与えられた場合には、各要素を引数として順にブロックを実行し、ブロックが真を返した最初の要素の位置を返します。一つも真にならなかった場合は nil を返します。
p [0, 1, 0, 1, 0].index {|v| v > 0} #=> 1
@@ -1095,12 +1055,9 @@ lv が指定された場合、lv の深さまで再帰的に平坦化します
--- indexes(*index) -> Array
--- indices(*index) -> Array
-このメソッドは obsolete です。
-代わりに [[m:Array#values_at]] を使用します。
-使用すると警告メッセージが表示されます。
+このメソッドは obsolete です。代わりに [[m:Array#values_at]] を使用します。使用すると警告メッセージが表示されます。
-各引数の値をインデックスとする要素の配列を返します。範囲外の
-インデックス指定に対しては nil が対応します。
+各引数の値をインデックスとする要素の配列を返します。範囲外のインデックス指定に対しては nil が対応します。
ary = %w( a b c d e )
p ary.indexes( 0, 2, 4 ) #=> ["a", "c", "e"]
@@ -1113,8 +1070,7 @@ lv が指定された場合、lv の深さまで再帰的に平坦化します
#@since 2.3.0
--- dig(idx, ...) -> object | nil
-self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し
-ます。途中のオブジェクトが nil であった場合は nil を返します。
+self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返します。途中のオブジェクトが nil であった場合は nil を返します。
@param idx インデックスを整数で任意個指定します。
@@ -1135,8 +1091,7 @@ self 以下のネストしたオブジェクトを dig メソッドで再帰的
#@since 1.8.0
--- insert(nth, *val) -> self
-インデックス nth の要素の直前(nth が負の場合は直後)に第 2 引数以降の値を挿入します。
-引数 val を一つも指定しなければ何もしません。
+インデックス nth の要素の直前(nth が負の場合は直後)に第 2 引数以降の値を挿入します。引数 val を一つも指定しなければ何もしません。
@param nth val を挿入する位置を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
@@ -1165,9 +1120,7 @@ self 以下のネストしたオブジェクトを dig メソッドで再帰的
文字列でない要素に対しては to_s した結果を連結します。
#@end
要素がまた配列であれば再帰的に (同じ sep を利用して)
-join した文字列を連結します。
-ただし、配列要素が自身を含むような無限にネストした配列に対しては、以下
-のような結果になります。
+join した文字列を連結します。ただし、配列要素が自身を含むような無限にネストした配列に対しては、以下のような結果になります。
#@since 1.9.2
ary = [1,2,3]
@@ -1251,8 +1204,7 @@ join した文字列を連結します。
nil でない要素の数を返します。
#@since 1.8.7
-ブロックが与えられた場合は、各要素を引数として評価し nil でない値を返した
-要素の数を返します。
+ブロックが与えられた場合は、各要素を引数として評価し nil でない値を返した要素の数を返します。
#@end
例:
@@ -1267,24 +1219,15 @@ nil でない要素の数を返します。
--- pack(template, buffer: String.new) -> String
#@end
-配列の内容を template で指定された文字列にしたがって、
-バイナリとしてパックした文字列を返します。
+配列の内容を template で指定された文字列にしたがって、バイナリとしてパックした文字列を返します。
-テンプレートは
-型指定文字列とその長さ(省略時は1)を並べたものです。長さと
-して * が指定された時は「残りのデータ全て」の長さを
-表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
+テンプレートは型指定文字列とその長さ(省略時は1)を並べたものです。長さとして * が指定された時は「残りのデータ全て」の長さを表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
#@since 2.4.0
-buffer が指定されていれば、バッファとして使って返値として返します。
-もし template の最初にオフセット (@) が指定されていれば、
-結果はオフセットの後ろから詰められます。
-buffer の元の内容がオフセットより長ければ、
-オフセットより後ろの部分は上書きされます。
-オフセットより短ければ、足りない部分は "\0" で埋められます。
-
-buffer オプションはメモリ確保が発生しないことを保証するものでは
-ないことに注意してください。
+buffer が指定されていれば、バッファとして使って返値として返します。もし template の最初にオフセット (@) が指定されていれば、結果はオフセットの後ろから詰められます。
+buffer の元の内容がオフセットより長ければ、オフセットより後ろの部分は上書きされます。オフセットより短ければ、足りない部分は "\0" で埋められます。
+
+buffer オプションはメモリ確保が発生しないことを保証するものではないことに注意してください。
buffer のサイズ(capacity)が足りなければ、packはメモリを確保します。
例:
@@ -1309,10 +1252,7 @@ buffer のサイズ(capacity)が足りなければ、packはメモリを確保
#@since 1.8.7
引数を指定した場合はその個数だけ取り除き、それを配列で返します。
-空配列の場合、n が指定されていない場合は nil を、
-指定されている場合は空配列を返します。
-また、n が自身の要素数より少ない場合はその要素数の配列を
-返します。どちらの場合も自身は空配列となります。
+空配列の場合、n が指定されていない場合は nil を、指定されている場合は空配列を返します。また、n が自身の要素数より少ない場合はその要素数の配列を返します。どちらの場合も自身は空配列となります。
返す値と副作用の両方を利用して、個数を指定して配列を 2 分する簡単な方法として使えます。
@@ -1371,8 +1311,7 @@ buffer のサイズ(capacity)が足りなければ、packはメモリを確保
--- rassoc(obj) -> Array | nil
自身が配列の配列であると仮定して、要素の配列でインデックス
-1 の要素が obj に等しいものを検索し見つかった最初の要素を返
-します。該当する要素がなければ nil を返します。
+1 の要素が obj に等しいものを検索し見つかった最初の要素を返します。該当する要素がなければ nil を返します。
比較は == 演算子を使って行われます。
@@ -1453,12 +1392,10 @@ reverse! は self を返します。
#@end
#@end
-指定された val と == で等しい最後の要素の位置を返します。
-等しい要素がひとつもなかった時には nil を返します。
+指定された val と == で等しい最後の要素の位置を返します。等しい要素がひとつもなかった時には nil を返します。
#@since 1.8.7
-ブロックが与えられた時には、各要素を引数として順にブロックを実行し、
-ブロックが真を返した最初の要素の位置を返します。
+ブロックが与えられた時には、各要素を引数として順にブロックを実行し、ブロックが真を返した最初の要素の位置を返します。
引数、ブロックのどちらも与えられなかった時には、自身と rindex から生成した
#@since 1.9.1
@@ -1488,10 +1425,7 @@ reverse! は self を返します。
#@since 1.8.7
引数を指定した場合はその個数だけ取り除き、それを配列で返します。
-空配列の場合、n が指定されていない場合は nil を、
-指定されている場合は空配列を返します。
-また、n が自身の要素数より少ない場合はその要素数の配列を
-返します。どちらの場合も自身は空配列となります。
+空配列の場合、n が指定されていない場合は nil を、指定されている場合は空配列を返します。また、n が自身の要素数より少ない場合はその要素数の配列を返します。どちらの場合も自身は空配列となります。
返す値と副作用の両方を利用して、個数を指定して配列を 2 分する簡単な方法として使えます。
@@ -1601,11 +1535,7 @@ sort! は self を破壊的にソートし、self を返します。
sort! は self を破壊的に変更し、self を返します。ただし、要素の数が 2 より小さい場合には nil を返します。
#@end
-ブロックとともに呼び出された時には、要素同士の比較をブロックを用いて行います。
-ブロックに2つの要素を引数として与えて評価し、その結果で比較します。
-ブロックは <=> 演算子と同様に整数を返すことが期待されています。つまり、
-ブロックは第1引数が大きいなら正の整数、両者が等しいなら0、そして第1引数の方が小さいなら
-負の整数を返さなければいけません。両者を比較できない時は nil を返します。
+ブロックとともに呼び出された時には、要素同士の比較をブロックを用いて行います。ブロックに2つの要素を引数として与えて評価し、その結果で比較します。ブロックは <=> 演算子と同様に整数を返すことが期待されています。つまり、ブロックは第1引数が大きいなら正の整数、両者が等しいなら0、そして第1引数の方が小さいなら負の整数を返さなければいけません。両者を比較できない時は nil を返します。
ary1 = [ "d", "a", "e", "c", "b" ]
p ary1.sort #=> ["a", "b", "c", "d", "e"]
@@ -1627,8 +1557,7 @@ sort! は self を破壊的に変更し、self を返します。ただし、要
--- sort_by! {|item| ... } -> self
sort_by の破壊的バージョンです。
-ブロックを省略した場合は返り値によって配列を破壊的に
-ソートする [[c:Enumerator]] を返します。
+ブロックを省略した場合は返り値によって配列を破壊的にソートする [[c:Enumerator]] を返します。
#@samplecode
fruits = %w{apple pear fig}
@@ -1641,8 +1570,7 @@ fruits # => ["fig", "pear", "apple"]
--- to_a -> Array
-self を返します。ただし、Array のサブクラスのインスタンスに対して呼ばれた時は、
-自身を Array に変換したものを返します。
+self を返します。ただし、Array のサブクラスのインスタンスに対して呼ばれた時は、自身を Array に変換したものを返します。
例:
@@ -1702,8 +1630,7 @@ self をそのまま返します。
#@since 2.1.0
--- to_h -> Hash
-self を [key, value] のペアの配列として解析した結果を [[c:Hash]] にして
-返します。
+self を [key, value] のペアの配列として解析した結果を [[c:Hash]] にして返します。
[[:foo, :bar], [1, 2]].to_h
# => {:foo => :bar, 1 => 2}
@@ -1712,13 +1639,10 @@ self を [key, value] のペアの配列として解析した結果を [[c:Hash]
#@since 1.8.0
--- transpose -> Array
-自身を行列と見立てて、行列の転置(行と列の入れ換え)を行いま
-す。転置した配列を生成して返します。空の配列に対しては空の配列を生
-成して返します。
+自身を行列と見立てて、行列の転置(行と列の入れ換え)を行います。転置した配列を生成して返します。空の配列に対しては空の配列を生成して返します。
それ以外の一次元の配列に対しては、例外
-[[c:TypeError]] が発生します。各要素のサイズが不揃いな配列に対して
-は、例外 [[c:IndexError]] が発生します。
+[[c:TypeError]] が発生します。各要素のサイズが不揃いな配列に対しては、例外 [[c:IndexError]] が発生します。
p [[1,2],
[3,4],
@@ -1747,19 +1671,16 @@ self を [key, value] のペアの配列として解析した結果を [[c:Hash]
#@end
uniq は配列から重複した要素を取り除いた新しい配列を返します。
-uniq! は削除を破壊的に行い、削除が行われた場合は self を、
-そうでなければnil を返します。
+uniq! は削除を破壊的に行い、削除が行われた場合は self を、そうでなければnil を返します。
-取り除かれた要素の部分は前に詰められます。
-要素の重複判定は、[[m:Object#eql?]] により行われます。
+取り除かれた要素の部分は前に詰められます。要素の重複判定は、[[m:Object#eql?]] により行われます。
p [1, 1, 1].uniq # => [1]
p [1, 4, 1].uniq # => [1, 4]
p [1, 3, 2, 2, 3].uniq # => [1, 3, 2]
#@since 1.9.2
-ブロックが与えられた場合、ブロックが返した値が重複した要素を取り除いた
-配列を返します。
+ブロックが与えられた場合、ブロックが返した値が重複した要素を取り除いた配列を返します。
p [1, 3, 2, "2", "3"].uniq # => [1, 3, 2, "2", "3"]
p [1, 3, 2, "2", "3"].uniq { |n| n.to_s } # => [1, 3, 2]
@@ -1770,8 +1691,7 @@ uniq! は削除を破壊的に行い、削除が行われた場合は self を
--- prepend(*obj) -> self
#@end
-指定された obj を引数の最後から順番に配列の先頭に挿入します。
-引数を指定しなければ何もしません。
+指定された obj を引数の最後から順番に配列の先頭に挿入します。引数を指定しなければ何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
@@ -1788,8 +1708,7 @@ uniq! は削除を破壊的に行い、削除が行われた場合は self を
#@since 1.8.0
--- values_at(*selectors) -> Array
-引数で指定されたインデックスに対応する要素を配列で返します。インデッ
-クスに対応する値がなければ nil が要素になります。
+引数で指定されたインデックスに対応する要素を配列で返します。インデックスに対応する値がなければ nil が要素になります。
@param selectors インデックスを整数もしくは整数の [[c:Range]] で指定します。
#@until 2.0.0
@@ -1821,8 +1740,7 @@ uniq! は削除を破壊的に行い、削除が行われた場合は self を
--- zip(*lists) -> [[object]]
--- zip(*lists) {|v1, v2, ...| ...} -> nil
-自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。
-生成される配列の要素数は self の要素数と同じです。
+自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。生成される配列の要素数は self の要素数と同じです。
ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。
@@ -1898,8 +1816,7 @@ Ruby 1.9.1 以降では Array#sample を使ってください。
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。
-重複したインデックスは選択されません。そのため、自身がユニークな配列の
-場合は返り値もユニークな配列になります。
+重複したインデックスは選択されません。そのため、自身がユニークな配列の場合は返り値もユニークな配列になります。
配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。
@@ -1969,8 +1886,7 @@ srand()が有効です。
配列の要素をランダムシャッフルして,その結果を配列として返します。
#@since 1.9.3
-引数に [[c:Random]] オブジェクトを渡すことでそのオブジェクトが
-生成する疑似乱数列を用いることができます。
+引数に [[c:Random]] オブジェクトを渡すことでそのオブジェクトが生成する疑似乱数列を用いることができます。
#@end
例:
@@ -2056,8 +1972,7 @@ srand()が有効です。
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
-引数を省略した場合は配列の要素数と同じサイズの順列に対してブロックを実
-行します。
+引数を省略した場合は配列の要素数と同じサイズの順列に対してブロックを実行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
#@since 1.9.1
@@ -2097,8 +2012,7 @@ srand()が有効です。
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1
個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
-返される配列の長さは,レシーバと引数で与えられた配列の長さのすべての積にな
-ります。
+返される配列の長さは,レシーバと引数で与えられた配列の長さのすべての積になります。
@param lists 配列。複数指定可能。
@@ -2113,8 +2027,7 @@ srand()が有効です。
[1,2].product([]) # => []
#@since 1.9.2
-ブロックが与えられた場合、作成した配列の各要素を引数としてブロックを実
-行して self を返します。
+ブロックが与えられた場合、作成した配列の各要素を引数としてブロックを実行して self を返します。
a = []
[1,2,3].product([4,5]) {|e| a << e} # => [1,2,3]
@@ -2127,11 +2040,9 @@ srand()が有効です。
--- repeated_combination(n) { |c| ... } -> Array
--- repeated_combination(n) -> Enumerator
-サイズ n の重複組み合わせをすべて生成し、それを引数としてブロックを実行
-します。
+サイズ n の重複組み合わせをすべて生成し、それを引数としてブロックを実行します。
-得られる組み合わせの順序は保証されません。ブロックなしで呼び出されると、
-組み合わせを生成する Enumerator オブジェクトを返します。
+得られる組み合わせの順序は保証されません。ブロックなしで呼び出されると、組み合わせを生成する Enumerator オブジェクトを返します。
@param n 生成される配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
@@ -2158,8 +2069,7 @@ srand()が有効です。
サイズ n の重複順列をすべて生成し,それを引数としてブロックを実行します。
-得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
-を生成する Enumerator オブジェクトを返します。
+得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
@@ -2187,8 +2097,7 @@ srand()が有効です。
a.keep_if {|v| v =~ /[aeiou]/} # => ["a", "e"]
a # => ["a", "e"]
-[[m:Array#select!]] と同様に自身を上書きしますが、削除する要素がなかっ
-た場合には修正を行いません。
+[[m:Array#select!]] と同様に自身を上書きしますが、削除する要素がなかった場合には修正を行いません。
a = %w{ a b c d e f }
a.keep_if {|v| v =~ /[a-z]/ } # => ["a", "b", "c", "d", "e", "f"]
@@ -2201,9 +2110,7 @@ srand()が有効です。
--- select! {|item| block } -> self | nil
--- select! -> Enumerator
-ブロックが false を返した要素を自身から削除します。
-変更があった場合は self を、
-変更がなかった場合には nil を返します。
+ブロックが false を返した要素を自身から削除します。変更があった場合は self を、変更がなかった場合には nil を返します。
a = %w{ a b c d e f }
a.select! {|v| v =~ /[a-z]/ } # => nil
@@ -2216,8 +2123,7 @@ srand()が有効です。
--- rotate(cnt = 1) -> Array
cnt で指定したインデックスの要素が先頭になる配列を新しく作成します。
-cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆の操
-作を行います。
+cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆の操作を行います。
@param cnt 先頭にする要素のインデックスを指定します。指定しなかった場合
は 1 になります。
@@ -2239,9 +2145,7 @@ cnt より前の要素は末尾に移動します。cnt に負の数を指定し
@see [[m:Array#rotate!]]
--- rotate!(cnt = 1) -> self
-cnt で指定したインデックスの要素が先頭になるように自身の順番を変更しま
-す。cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆
-の操作を行います。
+cnt で指定したインデックスの要素が先頭になるように自身の順番を変更します。cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆の操作を行います。
@param cnt 先頭にする要素のインデックスを指定します。指定しなかった場合
は 1 になります。
@@ -2266,18 +2170,14 @@ cnt で指定したインデックスの要素が先頭になるように自身
--- bsearch { |x| ... } -> object | nil
--- bsearch -> Enumerator
-ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探
-索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し
-ます。self はあらかじめソートしておく必要があります。
+ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返します。self はあらかじめソートしておく必要があります。
-本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
-ます。
+本メソッドはブロックを評価した結果により以下のいずれかのモードで動作します。
* find-minimum モード
* find-any モード
-find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
-う)では、条件判定の結果を以下のようにする必要があります。
+find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょう)では、条件判定の結果を以下のようにする必要があります。
* 求める値がブロックパラメータの値か前の要素の場合: true を返す
* 求める値がブロックパラメータより後の要素の場合: false を返す
@@ -2290,10 +2190,7 @@ find-minimum モード(特に理由がない限りはこのモードを使う方
ary.bsearch {|x| x >= -1 } # => 0
ary.bsearch {|x| x >= 100 } # => nil
-find-any モードは [[man:bsearch(3)]] のように動作します。ブロックは真偽値
-ではなく、以下のような数値を返す必要があります。求める要素が配列の i 番目
-から j-1 番目までに入っているとします。またブロックパラメータの値の
-インデックスを k とします。
+find-any モードは [[man:bsearch(3)]] のように動作します。ブロックは真偽値ではなく、以下のような数値を返す必要があります。求める要素が配列の i 番目から j-1 番目までに入っているとします。またブロックパラメータの値のインデックスを k とします。
* ブロックパラメータの値が求める値の範囲よりも小さい(0 <= k < i)場合: 正の数を返す
* ブロックパラメータの値が求める値の範囲に合致する(i <= k < j)場合: 0 を返す
@@ -2307,10 +2204,7 @@ find-any モードは [[man:bsearch(3)]] のように動作します。ブロッ
# 8 <= v < 10 になる要素を検索
ary.bsearch {|x| 4 - x / 2 } # => nil
-上記の 2 つのモードを混在して使用しないでください(ブロックの評価結果は
-常に true/false、数値のいずれかを一貫して返すようにしてください)。
-また、二分探索の各イテレーションで値がどのような順序で選ばれるかは
-未規定です。
+上記の 2 つのモードを混在して使用しないでください(ブロックの評価結果は常に true/false、数値のいずれかを一貫して返すようにしてください)。また、二分探索の各イテレーションで値がどのような順序で選ばれるかは未規定です。
ブロックが与えられなかった場合は、 [[c:Enumerator]] のインスタンスを返します。
@@ -2327,13 +2221,11 @@ find-any モードは [[man:bsearch(3)]] のように動作します。ブロッ
--- bsearch_index { |x| ... } -> Integer | nil
--- bsearch_index -> Enumerator
-ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を
-二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil
+ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil
を返します。self はあらかじめソートしておく必要があります。
本メソッドは[[m:Array#bsearch]]と同様に、ブロックを評価した結果により2
-つのモードで動作します。[[m:Array#bsearch]] との違いは見つかった要素自
-身を返すか位置を返すかのみです。各モードのより詳細な違いについては
+つのモードで動作します。[[m:Array#bsearch]] との違いは見つかった要素自身を返すか位置を返すかのみです。各モードのより詳細な違いについては
[[m:Array#bsearch]] を参照してください。
#@samplecode 例: find-minimum モード
@@ -2359,11 +2251,9 @@ ary.bsearch_index { |x| 4 - x / 2 } # => nil
--- max -> object | nil
--- max(n) -> Array
-最大の要素、もしくは最大の n 要素を返します。
-全要素が互いに <=> メソッドで比較できることを仮定しています。
+最大の要素、もしくは最大の n 要素を返します。全要素が互いに <=> メソッドで比較できることを仮定しています。
-引数を指定しない形式では要素が存在しなければ nil を返します。
-引数を指定する形式では、空の配列を返します。
+引数を指定しない形式では要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。
例:
[].max #=> nil
@@ -2379,9 +2269,7 @@ ary.bsearch_index { |x| 4 - x / 2 } # => nil
--- max(n) {|a, b| ... } -> Array
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最小の
-n 要素を返します。
-引数を指定しない形式では要素が存在しなければ nil を返します。
-引数を指定する形式では、空の配列を返します。
+n 要素を返します。引数を指定しない形式では要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、
a == b のとき 0、a < b のとき負の整数を、期待しています。
@@ -2403,11 +2291,9 @@ a == b のとき 0、a < b のとき負の整数を、期待しています。
--- min -> object | nil
--- min(n) -> Array
-最小の要素、もしくは最小の n 要素を返します。
-全要素が互いに <=> メソッドで比較できることを仮定しています。
+最小の要素、もしくは最小の n 要素を返します。全要素が互いに <=> メソッドで比較できることを仮定しています。
-引数を指定しない形式では要素が存在しなければ nil を返します。
-引数を指定する形式では、空の配列を返します。
+引数を指定しない形式では要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。
例:
[].min #=> nil
@@ -2423,9 +2309,7 @@ a == b のとき 0、a < b のとき負の整数を、期待しています。
--- min(n) {|a, b| ... } -> Array
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の
-n 要素を返します。
-引数を指定しない形式では要素が存在しなければ nil を返します。
-引数を指定する形式では、空の配列を返します。
+n 要素を返します。引数を指定しない形式では要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
diff --git a/refm/api/src/_builtin/BasicObject b/refm/api/src/_builtin/BasicObject
index 7d410f27..1fb8cc55 100644
--- a/refm/api/src/_builtin/BasicObject
+++ b/refm/api/src/_builtin/BasicObject
@@ -6,24 +6,13 @@
=== 性質
BasicObject クラスは Object クラスからほとんどのメソッドを取り除いたクラスです。
-Object クラスは様々な便利なメソッドや [[c:Kernel]] から受け継いだ関数的メソッド
-を多数有しています。
-これに対して、 BasicObject クラスはオブジェクトの同一性を識別したりメソッドを呼んだりする
-最低限の機能の他は一切の機能を持っていません。
+Object クラスは様々な便利なメソッドや [[c:Kernel]] から受け継いだ関数的メソッドを多数有しています。これに対して、 BasicObject クラスはオブジェクトの同一性を識別したりメソッドを呼んだりする最低限の機能の他は一切の機能を持っていません。
-=== 用途
-基本的にはほぼすべてのクラスの親は [[c:Object]] と考えて差し支えありません。
-しかし、ある種のクラスを定義する際には Object クラスは持っているメソッドが多すぎる
-場合があります。
+=== 用途基本的にはほぼすべてのクラスの親は [[c:Object]] と考えて差し支えありません。しかし、ある種のクラスを定義する際には Object クラスは持っているメソッドが多すぎる場合があります。
-例えば、 [[m:BasicObject#method_missing]]を利用して Proxy パターンを実
-装する場合にはObject クラスに定義済みのメソッドはプロクシできないという
-問題が発生します。このような場合に Object ではなく BasicObject から派生
-して問題を解決できます。
+例えば、 [[m:BasicObject#method_missing]]を利用して Proxy パターンを実装する場合にはObject クラスに定義済みのメソッドはプロクシできないという問題が発生します。このような場合に Object ではなく BasicObject から派生して問題を解決できます。
-=== 注意
-通常のクラスは Object またはその他の適切なクラスから派生すべきです。
-真に必要な場合にだけ BasicObject から派生してください。
+=== 注意通常のクラスは Object またはその他の適切なクラスから派生すべきです。真に必要な場合にだけ BasicObject から派生してください。
=== 例
@@ -44,9 +33,7 @@ Object クラスは様々な便利なメソッドや [[c:Kernel]] から受け
--- ==(other) -> bool
オブジェクトが other と等しければ真を、さもなくば偽を返します。
-このメソッドは各クラスの性質に合わせて、サブクラスで再定義するべきです。
-多くの場合、オブジェクトの内容が等しければ真を返すように (同値性を判定するように) 再定義
-することが期待されています。
+このメソッドは各クラスの性質に合わせて、サブクラスで再定義するべきです。多くの場合、オブジェクトの内容が等しければ真を返すように (同値性を判定するように) 再定義することが期待されています。
デフォルトでは [[m:Object#equal?]] と同じオブジェクトの同一性になっています。
@@ -73,10 +60,7 @@ Object クラスは様々な便利なメソッドや [[c:Kernel]] から受け
--- equal?(other) -> bool
オブジェクトが other と同一であれば真を、さもなくば偽を返します。
-このメソッドは2つのオブジェクトが同一のものであるかどうかを判定します。
-一般にはこのメソッドを決して再定義すべきでありません。
-ただし、 [[c:BasicObject]] の位置づけ上、どうしても再定義が必要な用途もあるでしょう。
-再定義する際には自分が何をしているのかよく理解してから実行してください。
+このメソッドは2つのオブジェクトが同一のものであるかどうかを判定します。一般にはこのメソッドを決して再定義すべきでありません。ただし、 [[c:BasicObject]] の位置づけ上、どうしても再定義が必要な用途もあるでしょう。再定義する際には自分が何をしているのかよく理解してから実行してください。
@param other 比較対象となるオブジェクト
@return other が self 自身であれば真、さもなくば偽
@@ -96,12 +80,9 @@ Object クラスは様々な便利なメソッドや [[c:Kernel]] から受け
--- ! -> bool
オブジェクトを真偽値として評価し、その論理否定を返します。
-このメソッドは self が nil または false であれば真を、さもなくば偽を返します。
-主に論理式の評価に伴って副作用を引き起こすことを目的に
-再定義するものと想定されています。
+このメソッドは self が nil または false であれば真を、さもなくば偽を返します。主に論理式の評価に伴って副作用を引き起こすことを目的に再定義するものと想定されています。
-このメソッドを再定義しても Ruby の制御式において nil や false 以外が偽として
-扱われることはありません。
+このメソッドを再定義しても Ruby の制御式において nil や false 以外が偽として扱われることはありません。
@return オブジェクトが偽であれば真、さもなくば偽
@@ -140,15 +121,11 @@ Object クラスは様々な便利なメソッドや [[c:Kernel]] から受け
--- !=(other) -> bool
オブジェクトが other と等しくないことを判定します。
-デフォルトでは self == other を評価した後に結果を論理否定して返します。
-このため、サブクラスで [[m:BasicObject#==]] を再定義しても != とは自動的に整合性が
-とれるようになっています。
+デフォルトでは self == other を評価した後に結果を論理否定して返します。このため、サブクラスで [[m:BasicObject#==]] を再定義しても != とは自動的に整合性がとれるようになっています。
-ただし、 [[m:BasicObject#!=]] 自身や [[m:BasicObject#!]] を再定義した際には、ユーザーの責任で
-整合性を保たなくてはなりません。
+ただし、 [[m:BasicObject#!=]] 自身や [[m:BasicObject#!]] を再定義した際には、ユーザーの責任で整合性を保たなくてはなりません。
-このメソッドは主に論理式の評価に伴って副作用を引き起こすことを目的に
-再定義するものと想定されています。
+このメソッドは主に論理式の評価に伴って副作用を引き起こすことを目的に再定義するものと想定されています。
@param other 比較対象となるオブジェクト
@see [[m:BasicObject#==]], [[m:BasicObject#!]]
@@ -201,11 +178,9 @@ Object クラスは様々な便利なメソッドや [[c:Kernel]] から受け
#@since 1.9.3
--- __id__ -> Integer
-各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し
-てどのような整数が割り当てられるかは不定です。
+各オブジェクトに対して一意な整数を返します。あるオブジェクトに対してどのような整数が割り当てられるかは不定です。
-[[m:Object#object_id]] と同じですが、#object_id は [[c:BasicObject]] に
-はない事に注意してください。
+[[m:Object#object_id]] と同じですが、#object_id は [[c:BasicObject]] にはない事に注意してください。
例:
# frozen_string_literal: false
@@ -225,11 +200,9 @@ Object クラスは様々な便利なメソッドや [[c:Kernel]] から受け
--- method_missing(name, *args) -> object
-呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド
-を呼び出します。
+呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッドを呼び出します。
-呼び出しに失敗したメソッドの名前 ([[c:Symbol]]) が name に
-その時の引数が第二引数以降に渡されます。
+呼び出しに失敗したメソッドの名前 ([[c:Symbol]]) が name にその時の引数が第二引数以降に渡されます。
デフォルトではこのメソッドは例外 [[c:NoMethodError]] を発生させます。
@@ -263,9 +236,7 @@ Object クラスは様々な便利なメソッドや [[c:Kernel]] から受け
#@since 1.9.2
[注意] このメソッドを override する場合は対象のメソッド名に対して
-[[m:Object#respond_to?]] が真を返すようにしてください。
-そのためには、[[m:Object#respond_to_missing?]] も同様に override する必
-要があります。
+[[m:Object#respond_to?]] が真を返すようにしてください。そのためには、[[m:Object#respond_to_missing?]] も同様に override する必要があります。
@see [[m:Object#respond_to?]], [[m:Object#respond_to_missing?]]
#@end
diff --git a/refm/api/src/_builtin/BasicObject.private_methods_from_Object b/refm/api/src/_builtin/BasicObject.private_methods_from_Object
index acfc776c..a66d694c 100644
--- a/refm/api/src/_builtin/BasicObject.private_methods_from_Object
+++ b/refm/api/src/_builtin/BasicObject.private_methods_from_Object
@@ -27,8 +27,7 @@
--- singleton_method_removed(name) -> object
-特異メソッドが [[m:Module#remove_method]] に
-より削除された時にインタプリタから呼び出されます。
+特異メソッドが [[m:Module#remove_method]] により削除された時にインタプリタから呼び出されます。
通常のメソッドの削除に対するフックには
[[m:Module#method_removed]]を使います。
diff --git a/refm/api/src/_builtin/BasicObject.public_methods_from_Object b/refm/api/src/_builtin/BasicObject.public_methods_from_Object
index 1319e545..e44116d4 100644
--- a/refm/api/src/_builtin/BasicObject.public_methods_from_Object
+++ b/refm/api/src/_builtin/BasicObject.public_methods_from_Object
@@ -1,20 +1,16 @@
--- instance_eval(expr, filename = "(eval)", lineno = 1) -> object
--- instance_eval {|obj| ... } -> object
-オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
-評価してその結果を返します。
+オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを評価してその結果を返します。
-オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
-また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。
+オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。
ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
-メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに
-初めて instance_eval 内のメソッドが定義されます。これはメソッド定義のネストと同じです。
+メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに初めて instance_eval 内のメソッドが定義されます。これはメソッド定義のネストと同じです。
[[ref:d:spec/def#nest_method]] を参照してください。
-BasicObject を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されているメソッドは見えません。
-これは、トップレベルの定数が Object 以下に作成されるためです。
+BasicObject を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されているメソッドは見えません。これは、トップレベルの定数が Object 以下に作成されるためです。
@param expr 評価する文字列です。
@@ -67,8 +63,7 @@ BasicObject を継承して作ったクラス内で instance_eval する場合
与えられたブロックをレシーバのコンテキストで実行します。
-ブロック実行中は、 self がレシーバのコンテキストになるので
-レシーバの持つインスタンス変数にアクセスすることができます。
+ブロック実行中は、 self がレシーバのコンテキストになるのでレシーバの持つインスタンス変数にアクセスすることができます。
@param args ブロックパラメータに渡す値です。
diff --git a/refm/api/src/_builtin/Bignum b/refm/api/src/_builtin/Bignum
index ed9642d0..0d80475d 100644
--- a/refm/api/src/_builtin/Bignum
+++ b/refm/api/src/_builtin/Bignum
@@ -1,22 +1,16 @@
= class Bignum < Integer
-多倍長整数のクラスです。
-演算の結果が [[c:Fixnum]] の範囲内の時には
-自動的に [[c:Fixnum]] に変換されます。
+多倍長整数のクラスです。演算の結果が [[c:Fixnum]] の範囲内の時には自動的に [[c:Fixnum]] に変換されます。
-扱うことのできる大きさはメモリサイズだけによって制限されます。
-ビット演算については 2 の補数表現の無限長
-のビットストリングとみなすことができます。特に負の数は左側に無限に 1
-のビットが立っているように操作できます。[[c:Float]] との混合に関しては、
-変換時に桁落ちが生じる可能性があります。
+扱うことのできる大きさはメモリサイズだけによって制限されます。ビット演算については 2 の補数表現の無限長のビットストリングとみなすことができます。特に負の数は左側に無限に 1
+のビットが立っているように操作できます。[[c:Float]] との混合に関しては、変換時に桁落ちが生じる可能性があります。
2.4.0 から [[c:Fixnum]], Bignum は [[c:Integer]] に統合されました。
2.4.0 からはどちらも [[c:Integer]] クラスのエイリアスとなっています。
=== 破壊的な変更
-Ruby の Bignum クラスは immutable です。
-つまり、オブジェクト自体を破壊的に変更することはできません。
+Ruby の Bignum クラスは immutable です。つまり、オブジェクト自体を破壊的に変更することはできません。
[[c:Fixnum]] も同様です。
== Instance Methods
@@ -86,8 +80,7 @@ r の符号は self と同じになります。
--- divmod(other) -> [Integer, Numeric]
-self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし
-て返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
+self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にして返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
@param other self を割る数。
@@ -96,8 +89,7 @@ self を other で割った商 q と余り r を、 [q, r] という 2 要素の
#@until 1.9.1
--- quo(other) -> Float
-self を other で割った商を返します。
-整商を得たい場合は [[m:Bignum#div]] を使ってください。
+self を other で割った商を返します。整商を得たい場合は [[m:Bignum#div]] を使ってください。
#@since 1.8.7
[[m:Bignum#fdiv]] との違いについては [[m:Numeric#quo]] を参照してください。
@@ -117,8 +109,7 @@ self を other で割った商を返します。
self を other で割った商を [[c:Float]] で返します。
#@since 1.9.1
-ただし [[c:Complex]] が関わる場合は例外です。
-その場合も成分は Float になります。
+ただし [[c:Complex]] が関わる場合は例外です。その場合も成分は Float になります。
#@end
@param other self を割る数を指定します。
@@ -143,8 +134,7 @@ self を other で割った商を [[c:Float]] で返します。
--- <=>(other) -> Fixnum | nil
-self と other を比較して、self が大きい時に正、
-等しい時に 0、小さい時に負の整数を返します。
+self と other を比較して、self が大きい時に正、等しい時に 0、小さい時に負の整数を返します。
@param other 比較対象の数値
@return -1 か 0 か 1 のいずれか
@@ -229,8 +219,7 @@ bit マシンで 4 バイト)、[[c:Bignum]]は、システム依存です。
--- eql?(other) -> bool
-self と other のクラスが等しくかつ同じ値である場合に true を返します。
-そうでない場合に false を返します。
+self と other のクラスが等しくかつ同じ値である場合に true を返します。そうでない場合に false を返します。
@param other self と比較したい数値。
@@ -282,8 +271,7 @@ self が偶数の場合に true を返します。そうでない場合に false
self を表すのに必要なビット数を返します。
-「必要なビット数」とは符号ビットを除く最上位ビットの位置の事を意味しま
-す。2**n の場合は n+1 になります。self にそのようなビットがない(0 や
+「必要なビット数」とは符号ビットを除く最上位ビットの位置の事を意味します。2**n の場合は n+1 になります。self にそのようなビットがない(0 や
-1 である)場合は 0 を返します。
例: ceil(log2(int < 0 ? -int : int+1)) と同じ結果
diff --git a/refm/api/src/_builtin/Binding b/refm/api/src/_builtin/Binding
index efb52efc..f4fbcecf 100644
--- a/refm/api/src/_builtin/Binding
+++ b/refm/api/src/_builtin/Binding
@@ -1,11 +1,8 @@
= class Binding < Object
-ローカル変数のテーブルと self、モジュールのネストなどの情報を保
-持するオブジェクトのクラスです。
+ローカル変数のテーブルと self、モジュールのネストなどの情報を保持するオブジェクトのクラスです。
-組み込み関数 [[m:Kernel.#binding]] によっ
-てのみ生成され、[[m:Kernel.#eval]] の第 2 引数に使用します。
-またトップレベルの Binding オブジェクトとして組み込み定数
+組み込み関数 [[m:Kernel.#binding]] によってのみ生成され、[[m:Kernel.#eval]] の第 2 引数に使用します。またトップレベルの Binding オブジェクトとして組み込み定数
[[m:Object::TOPLEVEL_BINDING]] が用意されています。
== Instance Methods
@@ -14,8 +11,7 @@
--- eval(expr, fname = __FILE__, lineno = 1) -> object
自身をコンテキストとし文字列 expr を
-Ruby プログラムとして評価しその結果を返します。
-組み込み関数 [[m:Kernel.#eval]] を使って
+Ruby プログラムとして評価しその結果を返します。組み込み関数 [[m:Kernel.#eval]] を使って
eval(expr, self, fname, lineno) とするのと同じです。
@param expr 評価したい式を文字列で与えます。
@@ -76,8 +72,7 @@ eval(expr, self, fname, lineno) とするのと同じです。
p b # => NameError
end
-このメソッドは以下のコード(ただし、obj が Ruby のコードで出力される場
-合)と同様の動作をします。
+このメソッドは以下のコード(ただし、obj が Ruby のコードで出力される場合)と同様の動作をします。
binding.eval("#{symbol} = #{obj}")
@@ -85,8 +80,7 @@ eval(expr, self, fname, lineno) とするのと同じです。
--- local_variable_defined?(symbol) -> bool
-引数 symbol で指定した名前のローカル変数が定義されている場合に true を、
-そうでない場合に false を返します。
+引数 symbol で指定した名前のローカル変数が定義されている場合に true を、そうでない場合に false を返します。
@param symbol ローカル変数名を [[c:Symbol]] オブジェクトで指定します。
diff --git a/refm/api/src/_builtin/Class b/refm/api/src/_builtin/Class
index 01c7ebd3..44655e56 100644
--- a/refm/api/src/_builtin/Class
+++ b/refm/api/src/_builtin/Class
@@ -2,18 +2,14 @@
クラスのクラスです。
-より正確に言えば、個々のクラスはそれぞれメタクラスと呼
-ばれる名前のないクラスをクラスとして持っていて、Class はそのメタ
-クラスのクラスです。この関係は少し複雑ですが、Ruby を利用するにあたっ
-ては特に重要ではありません。
+より正確に言えば、個々のクラスはそれぞれメタクラスと呼ばれる名前のないクラスをクラスとして持っていて、Class はそのメタクラスのクラスです。この関係は少し複雑ですが、Ruby を利用するにあたっては特に重要ではありません。
クラスとモジュールには
* クラスはインスタンスを作成できるが、モジュールはできない。
* モジュールを他のモジュールやクラスにインクルードすることはできるが,クラスをインクルードすることはできない。
-という違いがありますが、それ以外のほとんどの機能は [[c:Module]] から継
-承されています。Module のメソッドのうち
+という違いがありますが、それ以外のほとんどの機能は [[c:Module]] から継承されています。Module のメソッドのうち
* [[m:Module#module_function]]
* [[m:Module#extend_object]]
@@ -34,8 +30,7 @@
新しく名前の付いていない superclass のサブクラスを生成します。
-名前のないクラスは、最初に名前を求める際に代入されている定数名を検
-索し、見つかった定数名をクラス名とします。
+名前のないクラスは、最初に名前を求める際に代入されている定数名を検索し、見つかった定数名をクラス名とします。
p foo = Class.new # => #<Class:0x401b90f8>
p foo.name # => nil
@@ -44,15 +39,13 @@
p foo.name # => "Bar" ("Foo" になるか "Bar" になるかは不定)
#@since 1.8.0
-ブロックが与えられた場合、生成したクラスを引数として
-クラスのコンテキストでブロックを実行します。以下のコードと同じです。
+ブロックが与えられた場合、生成したクラスを引数としてクラスのコンテキストでブロックを実行します。以下のコードと同じです。
klass = Class.new(superclass)
klass.module_eval {|m| ... }
klass
-この場合も生成したクラスを返します。
-ブロックの実行は Class#initialize が行います。
+この場合も生成したクラスを返します。ブロックの実行は Class#initialize が行います。
#@end
@param superclass 生成するクラスのスーパークラスを指定します。
@@ -78,8 +71,7 @@
#@since 1.8.0
--- allocate -> object
-自身のインスタンスを生成して返します。生成したオブジェクトは
-自身のインスタンスであること以外には何も特性を持ちません。
+自身のインスタンスを生成して返します。生成したオブジェクトは自身のインスタンスであること以外には何も特性を持ちません。
例:
klass = Class.new do
@@ -98,8 +90,7 @@
--- new(*args, &block) -> object
-自身のインスタンスを生成して返します。
-このメソッドの引数はブロック引数も含め [[m:Object#initialize]] に渡されます。
+自身のインスタンスを生成して返します。このメソッドの引数はブロック引数も含め [[m:Object#initialize]] に渡されます。
#@since 1.8.0
new は [[m:Class#allocate]] でインスタンスを生成し、
@@ -144,9 +135,7 @@ new は [[m:Class#allocate]] でインスタンスを生成し、
--- inherited(subclass) -> ()
-クラスのサブクラスが定義された時、新しく生成されたサブクラスを引数
-にインタプリタから呼び出されます。このメソッドが呼ばれるタイミングは
-クラス定義文の実行直前です。
+クラスのサブクラスが定義された時、新しく生成されたサブクラスを引数にインタプリタから呼び出されます。このメソッドが呼ばれるタイミングはクラス定義文の実行直前です。
@param subclass プログラム内で新たに定義された自身のサブクラスです。
diff --git a/refm/api/src/_builtin/ClosedQueueError b/refm/api/src/_builtin/ClosedQueueError
index 815b0797..8bd9e293 100644
--- a/refm/api/src/_builtin/ClosedQueueError
+++ b/refm/api/src/_builtin/ClosedQueueError
@@ -1,4 +1,3 @@
= class ClosedQueueError < StopIteration
-close 済みの [[c:Thread::Queue]] や [[c:Thread::SizedQueue]] に許可され
-ていない操作を行おうとした場合に発生する例外です。
+close 済みの [[c:Thread::Queue]] や [[c:Thread::SizedQueue]] に許可されていない操作を行おうとした場合に発生する例外です。
diff --git a/refm/api/src/_builtin/Comparable b/refm/api/src/_builtin/Comparable
index 0e44ac5f..5b56b92e 100644
--- a/refm/api/src/_builtin/Comparable
+++ b/refm/api/src/_builtin/Comparable
@@ -1,8 +1,6 @@
= module Comparable
-比較演算を許すクラスのための Mix-in です。このモジュールをインクルー
-ドするクラスは、基本的な比較演算子である <=> 演算子を定義してい
-る必要があります。
+比較演算を許すクラスのための Mix-in です。このモジュールをインクルードするクラスは、基本的な比較演算子である <=> 演算子を定義している必要があります。
self <=> other は
* self が other より大きいなら正の整数
@@ -25,8 +23,7 @@ self <=> other は
#@since 1.8.0
比較演算子 <=> をもとにオブジェクト同士を比較します。
-<=> が 0 を返した時に、true を返します。
-それ以外を返した場合は、false を返します。
+<=> が 0 を返した時に、true を返します。それ以外を返した場合は、false を返します。
#@until 1.9.1
<=> が nil を返した場合は、 nil を返します。
@@ -52,8 +49,7 @@ self <=> other で例外が発生した場合は例外を無視して false を
self が other より大きい時真を返します。
#@else
比較演算子 <=> をもとにオブジェクト同士を比較します。
-<=> が正の整数を返した場合に、true を返します。
-それ以外の整数を返した場合に、false を返します。
+<=> が正の整数を返した場合に、true を返します。それ以外の整数を返した場合に、false を返します。
#@end
@param other 自身と比較したいオブジェクトを指定します。
@@ -71,8 +67,7 @@ self が other より大きい時真を返します。
self が other より大きいか等しい時真を返します。
#@else
比較演算子 <=> をもとにオブジェクト同士を比較します。
-<=> が正の整数か 0 を返した場合に、true を返します。
-それ以外の整数を返した場合に、false を返します。
+<=> が正の整数か 0 を返した場合に、true を返します。それ以外の整数を返した場合に、false を返します。
#@end
@param other 自身と比較したいオブジェクトを指定します。
@@ -91,8 +86,7 @@ self が other より大きいか等しい時真を返します。
self が other より小さい時真を返します。
#@else
比較演算子 <=> をもとにオブジェクト同士を比較します。
-<=> が負の整数を返した場合に、true を返します。
-それ以外の整数を返した場合に、false を返します。
+<=> が負の整数を返した場合に、true を返します。それ以外の整数を返した場合に、false を返します。
#@end
@param other 自身と比較したいオブジェクトを指定します。
@@ -110,8 +104,7 @@ self が other より小さい時真を返します。
self が other より小さいか等しい時真を返します。
#@else
比較演算子 <=> をもとにオブジェクト同士を比較します。
-<=> が負の整数か 0 を返した場合に、true を返します。
-それ以外の整数を返した場合に、false を返します。
+<=> が負の整数か 0 を返した場合に、true を返します。それ以外の整数を返した場合に、false を返します。
#@end
@param other 自身と比較したいオブジェクトを指定します。
@@ -157,8 +150,7 @@ self が min と max の範囲内(min, max
self を範囲内に収めます。
self <=> min が負数を返したときは min を、
-self <=> max が正数を返したときは max を、
-それ以外の場合は self を返します。
+self <=> max が正数を返したときは max を、それ以外の場合は self を返します。
例:
12.clamp(0, 100) #=> 12
diff --git a/refm/api/src/_builtin/Complex b/refm/api/src/_builtin/Complex
index 6e07ad44..0d922313 100644
--- a/refm/api/src/_builtin/Complex
+++ b/refm/api/src/_builtin/Complex
@@ -227,8 +227,7 @@ other を [[c:Complex]] に変換して [self, 変換後の other] の配列を
--- fdiv(other) -> Complex
-self を other で割った商を返します。
-実部と虚部が共に [[c:Float]] の値になります。
+self を other で割った商を返します。実部と虚部が共に [[c:Float]] の値になります。
@param other 自身を割る数
@@ -278,15 +277,13 @@ self を other で割った商を返します。
--- marshal_load(ary) -> Complex
-[[m:Complex#marshal_dump]] で得られた配列を基に、[[c:Complex]] オブジェ
-クトを復元します。
+[[m:Complex#marshal_dump]] で得られた配列を基に、[[c:Complex]] オブジェクトを復元します。
@param ary 2 要素の数値の配列を指定します。
@raise ArgumentError 配列の要素数が 2 以外であった場合に発生します。
-[注意] このメソッドは 2.0 で Complex::compatible#marshal_load に移動さ
-れました。
+[注意] このメソッドは 2.0 で Complex::compatible#marshal_load に移動されました。
@see [[m:Complex#marshal_dump]]
#@end
@@ -454,8 +451,7 @@ self を返します。
[[m:Marshal.#load]] のためのメソッドです。
Complex::compatible#marshal_load で復元可能な配列を返します。
-2.0 以降では [[m:Marshal.#load]] で 1.8 系の [[c:Complex]] オブジェクト
-を保存した文字列も復元できます。
+2.0 以降では [[m:Marshal.#load]] で 1.8 系の [[c:Complex]] オブジェクトを保存した文字列も復元できます。
[注意] Complex::compatible は通常の方法では参照する事ができません。
diff --git a/refm/api/src/_builtin/Continuation b/refm/api/src/_builtin/Continuation
index 66c9068e..9a1f73bf 100644
--- a/refm/api/src/_builtin/Continuation
+++ b/refm/api/src/_builtin/Continuation
@@ -2,17 +2,12 @@
継続を表すクラスです。
-[[m:Kernel.#callcc]] { |cont| ... } の呼び出し
-は、直前の状態(ローカル変数の定義、スタックフレーム)を cont に記憶
-してブロックを実行します。cont は、Continuation クラスのインスタ
-ンスで、[[m:Continuation#call]] メソッドを実行するこ
-とでいつでも記憶した状態を継続することができます。
+[[m:Kernel.#callcc]] { |cont| ... } の呼び出しは、直前の状態(ローカル変数の定義、スタックフレーム)を cont に記憶してブロックを実行します。cont は、Continuation クラスのインスタンスで、[[m:Continuation#call]] メソッドを実行することでいつでも記憶した状態を継続することができます。
C 言語の setjmp()/longjmp() がわかる人は
setjmp() == callcc {|c| }
longjmp() == c.call
-と考えれば、わかりやすいかも知れません(ただし、callcc はスタックが深く
-なる方向にもジャンプ出来るという違いがあります)
+と考えれば、わかりやすいかも知れません(ただし、callcc はスタックが深くなる方向にもジャンプ出来るという違いがあります)
callcc() は、ブロックの戻り値を返しますが、Continuation#call(args)
が呼び出されたときは args を返します。
diff --git a/refm/api/src/_builtin/Data b/refm/api/src/_builtin/Data
index 26208752..4277a592 100644
--- a/refm/api/src/_builtin/Data
+++ b/refm/api/src/_builtin/Data
@@ -6,8 +6,7 @@ Fixnum や Bignum が Integer に統合されたように、将来 Object に統
Ruby スクリプトレベルでは見えなくなる予定です。
#@end
-拡張ライブラリを書く時に new が定義されているとまずい場合が
-あるため、[[c:Object]] から new と allocate を undef したクラスです。
+拡張ライブラリを書く時に new が定義されているとまずい場合があるため、[[c:Object]] から new と allocate を undef したクラスです。
Ruby スクリプトレベルでは気にする必要は全くありません。
#@# しているのは rb_undef_alloc_func なので例外あげるけど new は存在するような。
diff --git a/refm/api/src/_builtin/Dir b/refm/api/src/_builtin/Dir
index 85405493..58a88d76 100644
--- a/refm/api/src/_builtin/Dir
+++ b/refm/api/src/_builtin/Dir
@@ -15,12 +15,9 @@ include Enumerable
--- glob(pattern, flags = 0) {|file| ...} -> nil
#@end
-ワイルドカードの展開を行い、
-パターンにマッチするファイル名を文字列の配列として返します。
-パターンにマッチするファイルがない場合は空の配列を返します。
+ワイルドカードの展開を行い、パターンにマッチするファイル名を文字列の配列として返します。パターンにマッチするファイルがない場合は空の配列を返します。
-ブロックが与えられたときはワイルドカードにマッチしたファイルを
-引数にそのブロックを 1 つずつ評価して nil を返します
+ブロックが与えられたときはワイルドカードにマッチしたファイルを引数にそのブロックを 1 つずつ評価して nil を返します
@param pattern パターンを文字列で指定します。
パターンを "\0" で区切って 1 度に複数のパターンを指定することもで
@@ -41,10 +38,8 @@ include Enumerable
絶対パスが必要な場合はベースディレクトリを追加する必要があるでしょう。
#@end
-ワイルドカードには以下のものがあります。これらはバックスラッシュに
-よりエスケープすることができます。ダブルクォートの文字列中では 2
-重にエスケープする必要があることに注意してください。
-ワイルドカードはデフォルトではファイル名の先頭の "." にマッチしません。
+ワイルドカードには以下のものがあります。これらはバックスラッシュによりエスケープすることができます。ダブルクォートの文字列中では 2
+重にエスケープする必要があることに注意してください。ワイルドカードはデフォルトではファイル名の先頭の "." にマッチしません。
: *
空文字列を含む任意の文字列と一致します。
@@ -114,11 +109,9 @@ include Enumerable
カレントディレクトリを path に変更します。
path を省略した場合、環境変数 HOME または LOGDIR
-が設定されていればそのディレクトリに移動します。
-カレントディレクトリの変更に成功すれば 0 を返します。
+が設定されていればそのディレクトリに移動します。カレントディレクトリの変更に成功すれば 0 を返します。
-ブロックが指定された場合、カレントディレクトリの変更はブロックの実行中に限
-られます。ブロックの実行結果を返します。
+ブロックが指定された場合、カレントディレクトリの変更はブロックの実行中に限られます。ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@@ -137,9 +130,7 @@ path を省略した場合、環境変数 HOME または LOGDIR
ルートディレクトリを path に変更します。
-スーパーユーザだけがルートディレクトリを変更できます。
-ルートディレクトリの変更に成功すれば 0 を返します。
-各プラットフォームのマニュアルの chroot の項も参照して下さい。
+スーパーユーザだけがルートディレクトリを変更できます。ルートディレクトリの変更に成功すれば 0 を返します。各プラットフォームのマニュアルの chroot の項も参照して下さい。
@param path ディレクトリのパスを文字列で指定します。
@@ -157,8 +148,7 @@ path を省略した場合、環境変数 HOME または LOGDIR
--- rmdir(path) -> 0
--- unlink(path) -> 0
-ディレクトリを削除します。ディレクトリは空でなければいけませ
-ん。ディレクトリの削除に成功すれば 0 を返します。
+ディレクトリを削除します。ディレクトリは空でなければいけません。ディレクトリの削除に成功すれば 0 を返します。
@param path ディレクトリのパスを文字列で指定します。
@@ -171,8 +161,7 @@ path を省略した場合、環境変数 HOME または LOGDIR
--- entries(path) -> [String]
--- entries(path, encoding: Encoding.find("filesystem")) -> [String]
-ディレクトリ path に含まれるファイルエントリ名の
-配列を返します。
+ディレクトリ path に含まれるファイルエントリ名の配列を返します。
@param path ディレクトリのパスを文字列で指定します。
@@ -247,8 +236,7 @@ path を省略した場合、環境変数 HOME または LOGDIR
--- each_child(path) -> Enumerator
--- each_child(path, encoding: enc) -> Enumerator
-ディレクトリ path の "." と ".." をのぞく各エントリを表す文字列を引数として、
-ブロックを評価します。
+ディレクトリ path の "." と ".." をのぞく各エントリを表す文字列を引数として、ブロックを評価します。
ブロックが与えられなかった場合、各エントリを文字列として保持する
[[c:Enumerator]] オブジェクトを返します。
@@ -289,8 +277,7 @@ path を省略した場合、環境変数 HOME または LOGDIR
path で指定された新しいディレクトリを作ります。パーミッションは
mode で指定された値に umask をかけた値 (mode & ~umask) になります。
-[[man:mkdir(2)]] も参照して下さい。
-ディレクトリの作成に成功すれば 0 を返します。
+[[man:mkdir(2)]] も参照して下さい。ディレクトリの作成に成功すれば 0 を返します。
@param path ディレクトリのパスを文字列で指定します。
@@ -315,10 +302,7 @@ mode で指定された値に umask をかけた値 (mode & ~umask) になりま
path に対するディレクトリストリームをオープンして返します。
-ブロックを指定して呼び出した場合は、ディレクトリストリームを
-引数としてブロックを実行します。ブロックの実行が終了すると、
-ディレクトリは自動的にクローズされます。
-ブロックの実行結果を返します。
+ブロックを指定して呼び出した場合は、ディレクトリストリームを引数としてブロックを実行します。ブロックの実行が終了すると、ディレクトリは自動的にクローズされます。ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@@ -363,8 +347,7 @@ path に対するディレクトリストリームをオープンして返しま
--- exists?(file_name) -> bool
#@end
-file_name で与えられたディレクトリが存在する場合に真を返します。
-そうでない場合は、偽を返します。
+file_name で与えられたディレクトリが存在する場合に真を返します。そうでない場合は、偽を返します。
@param file_name 存在を確認したいディレクトリ名。
@@ -386,8 +369,7 @@ file_name で与えられたディレクトリが存在する場合に真を返
現在のユーザまたは指定されたユーザのホームディレクトリを返します。
Dir.home や Dir.home("root") は
-File.expand_path("~") や File.expand_path("~root") と
-ほぼ同じです。
+File.expand_path("~") や File.expand_path("~root") とほぼ同じです。
例:
Dir.home # => "/home/vagrant"
@@ -398,8 +380,7 @@ File.expand_path("~") や File.expand_path("~root") と
#@since 2.4.0
--- empty?(path_name) -> bool
-path_name で与えられたディレクトリが空の場合に真を返します。
-ディレクトリでない場合や空でない場合に偽を返します。
+path_name で与えられたディレクトリが空の場合に真を返します。ディレクトリでない場合や空でない場合に偽を返します。
Dir.empty?('.') #=> false
Dir.empty?(IO::NULL) #=> false
@@ -480,8 +461,7 @@ path_name で与えられたディレクトリが空の場合に真を返しま
--- seek(pos) -> self
ディレクトリストリームの読み込み位置を pos に移動させます。
-pos は [[m:Dir#tell]] で与えられた値でなければなりま
-せん。
+pos は [[m:Dir#tell]] で与えられた値でなければなりません。
@param pos 変更したい位置を整数で与えます。
@@ -499,8 +479,7 @@ pos は [[m:Dir#tell]] で与えられた値でなければなりま
--- read -> String | nil
-ディレクトリストリームから次の要素を読み出して返します。最後の要素
-まで読み出していれば nil を返します。
+ディレクトリストリームから次の要素を読み出して返します。最後の要素まで読み出していれば nil を返します。
@raise Errno::EXXX ディレクトリの読み出しに失敗した場合に発生します。
diff --git a/refm/api/src/_builtin/ENV b/refm/api/src/_builtin/ENV
index 7b2dd1d3..9403d75f 100644
--- a/refm/api/src/_builtin/ENV
+++ b/refm/api/src/_builtin/ENV
@@ -2,14 +2,10 @@
extend Enumerable
-環境変数を表すオブジェクト。[[c:Hash]] と同様のインターフェースを持ち
-ます。ただし、Hash と異なり、ENV のキーと値には文字列しか
-とることができません。
+環境変数を表すオブジェクト。[[c:Hash]] と同様のインターフェースを持ちます。ただし、Hash と異なり、ENV のキーと値には文字列しかとることができません。
-ENV で得られる文字列は ENV['PATH'] を除いて汚染されていま
-す。オブジェクトの汚染に関しては [[d:spec/safelevel]] を参照して下さい。
-ENV['PATH'] はその要素が誰でも書き込み可能なディレクトリを含ん
-でいる場合に限り汚染されます。
+ENV で得られる文字列は ENV['PATH'] を除いて汚染されています。オブジェクトの汚染に関しては [[d:spec/safelevel]] を参照して下さい。
+ENV['PATH'] はその要素が誰でも書き込み可能なディレクトリを含んでいる場合に限り汚染されます。
例:
@@ -32,8 +28,7 @@ Windows では環境変数は大文字、小文字を区別しません。(cygwi
--- [](key) -> String
-key に対応する環境変数の値を返します。該当する環境変数が存在
-しない時には nil を返します。
+key に対応する環境変数の値を返します。該当する環境変数が存在しない時には nil を返します。
@param key 環境変数名を指定します。文字列で指定します。文字列以外のオブ
ジェクトを指定した場合は to_str メソッドによる暗黙の型変換
@@ -73,12 +68,10 @@ ENV.has_key?('NEW_KEY') # => false
--- delete(key) -> String | nil
--- delete(key) {|key| ... } -> String | nil
-key に対応する環境変数を取り除きます。取り除かれた環境変数の
-値を返しますが、key に対応する環境変数が存在しない時には
+key に対応する環境変数を取り除きます。取り除かれた環境変数の値を返しますが、key に対応する環境変数が存在しない時には
nil を返します。
-ブロックが与えられた時には key にマッチするものがなかった時
-に評価されます。
+ブロックが与えられた時には key にマッチするものがなかった時に評価されます。
@param key 環境変数名を指定します。文字列で指定します。文字列で指定しま
す。文字列以外のオブジェクトを指定した場合は to_str メソッド
@@ -94,8 +87,7 @@ nil を返します。
--- reject {|key, value| ... } -> Hash
環境変数のうち、ブロックを評価した値が真であるものをとり除きます。
-[[m:Enumerable#reject]] と異なり Hash を返します。また、とり除いた結果
-は実際の環境変数に影響を与えません。
+[[m:Enumerable#reject]] と異なり Hash を返します。また、とり除いた結果は実際の環境変数に影響を与えません。
--- delete_if {|key, value| ... } -> ENV
--- reject! {|key, value| ... } -> ENV | nil
@@ -109,8 +101,7 @@ nil を返します。
#@end
#@end
-key と value を引数としてブロックを評価した値が真であ
-る時、環境変数を削除します。
+key と value を引数としてブロックを評価した値が真である時、環境変数を削除します。
reject! は要素に変化がなければ nil を返します。
@@ -155,10 +146,7 @@ value を引数としてブロックを評価します。
--- fetch(key, default) -> String
--- fetch(key) {|key| ... } -> String
-key に関連づけられた値を返します。該当するキーが登録されてい
-ない時には、引数 default が与えられていればその値を、ブロッ
-クが与えられていればそのブロックを評価した値を返します。そのいずれ
-でもなければ例外が発生します。
+key に関連づけられた値を返します。該当するキーが登録されていない時には、引数 default が与えられていればその値を、ブロックが与えられていればそのブロックを評価した値を返します。そのいずれでもなければ例外が発生します。
@param key 環境変数の名前を指定します。 文字列で指定します。文字列
で指定します。文字列以外のオブジェクトを指定した場合は
@@ -211,9 +199,7 @@ nil を返します。
--- indexes(*key) -> [String]
--- indices(*key) -> [String]
-このメソッドは obsolete です。
-使用すると警告メッセージが表示されます。
-代わりに [[m:ENV.values_at]] を使用します。
+このメソッドは obsolete です。使用すると警告メッセージが表示されます。代わりに [[m:ENV.values_at]] を使用します。
引数で指定された名前の環境変数の値の配列を返します。
@@ -258,14 +244,11 @@ ENV オブジェクトを文字列化します。 [[m:Hash#inspect]] と同じ
#@end
--- select {|key, value| ... } -> [[String, String]]
-環境変数名と値についてブロックを評価し、真を返したものを集めた配列を返
-します。配列の各要素は配列となり、第一要素が変数名、第二要素が値になり
-ます。
+環境変数名と値についてブロックを評価し、真を返したものを集めた配列を返します。配列の各要素は配列となり、第一要素が変数名、第二要素が値になります。
--- shift -> [String, String]
-環境変数を一つ取り除いて、それを名前と値の組の配列で返します。
-環境変数が一つも設定されていなければ nil を返します。
+環境変数を一つ取り除いて、それを名前と値の組の配列で返します。環境変数が一つも設定されていなければ nil を返します。
--- to_a -> [[String, String]]
@@ -284,8 +267,7 @@ ENV オブジェクトを文字列化します。 [[m:Hash#inspect]] と同じ
--- update(other) -> ENV
-ハッシュ other の内容を環境変数にマージします。重複するキー
-に対応する値は other の内容で上書きされます。
+ハッシュ other の内容を環境変数にマージします。重複するキーに対応する値は other の内容で上書きされます。
self を返します。
@@ -297,8 +279,7 @@ self を返します。
--- values_at(*key) -> [String]
-引数で指定されたキー(環境変数名)に対応する値の配列を返します。存在
-しないキーに対しては nil が対応します。
+引数で指定されたキー(環境変数名)に対応する値の配列を返します。存在しないキーに対しては nil が対応します。
#@until 1.9.1
[[m:ENV.indexes]] と [[m:ENV.indices]] と同じです。
#@end
@@ -314,8 +295,7 @@ self を返します。
#@since 1.9.1
--- assoc(key) -> Array | nil
-自身が与えられたキーに対応する要素を持つとき、見つかった要素のキーと値のペアを
-配列として返します。
+自身が与えられたキーに対応する要素を持つとき、見つかった要素のキーと値のペアを配列として返します。
@param key 検索するキーを指定します。
@@ -323,8 +303,7 @@ self を返します。
--- rassoc(value) -> Array | nil
-自身が与えられた値に対応する要素を持つとき、見つかった要素のキーと値のペアを
-配列として返します。
+自身が与えられた値に対応する要素を持つとき、見つかった要素のキーと値のペアを配列として返します。
@param value 検索する値を指定します。
@@ -338,12 +317,10 @@ self を返します。
--- keep_if -> Enumerator
--- select! -> Enumerator
-キーと値を引数としてブロックを評価した結果が真であ
-るような要素を環境変数に残します。
+キーと値を引数としてブロックを評価した結果が真であるような要素を環境変数に残します。
keep_if は常に self を返します。
-select! はオブジェクトが変更された場合に self を、
-されていない場合に nil を返します。
+select! はオブジェクトが変更された場合に self を、されていない場合に nil を返します。
ブロックが省略された場合には [[c:Enumerator]] を返します。
diff --git a/refm/api/src/_builtin/Encoding b/refm/api/src/_builtin/Encoding
index c765d6c8..4de9caef 100644
--- a/refm/api/src/_builtin/Encoding
+++ b/refm/api/src/_builtin/Encoding
@@ -17,13 +17,9 @@
"SJIS"=>"Shift_JIS", "eucJP"=>"EUC-JP", "CP932"=>"Windows-31J"}
--- compatible?(obj1, obj2) -> Encoding | nil
-2つのオブジェクトのエンコーディングに関する互換性をチェックします。
-互換性がある場合はそのエンコーディングを、
-ない場合は nil を返します。
+2つのオブジェクトのエンコーディングに関する互換性をチェックします。互換性がある場合はそのエンコーディングを、ない場合は nil を返します。
-引数が両方とも文字列である場合、互換性があるならば
-その文字列を結合できます。この場合返り値のエンコーディングは
-結合した文字列が取るであろう Encoding オブジェクトを返します。
+引数が両方とも文字列である場合、互換性があるならばその文字列を結合できます。この場合返り値のエンコーディングは結合した文字列が取るであろう Encoding オブジェクトを返します。
Encoding.compatible?("\xa1".force_encoding("iso-8859-1"), "b")
#=> #<Encoding:ISO-8859-1>
@@ -33,8 +29,7 @@
"\xa1\xa1".force_encoding("euc-jp"))
#=> nil
-引数が文字列でない場合でも、両方のオブジェクトが encoding を持つ場合には
-互換性を判定することができます。
+引数が文字列でない場合でも、両方のオブジェクトが encoding を持つ場合には互換性を判定することができます。
Encoding.compatible?(Encoding::UTF_8, Encoding::CP932)
# => nil
Encoding.compatible?(Encoding::UTF_8, Encoding::US_ASCII)
@@ -91,8 +86,7 @@
入出力において、外部エンコーディングが指定されていない場合の規定値として利用されます。Rubyはロケールまたは -E オプションに従って default_external を決定します。ロケールの確認・設定方法については各システムのマニュアルを参照してください。
-default_external は必ず設定されます。[[m:Encoding.locale_charmap]] が nil を返す場合には US-ASCII が、
-ロケールにRubyが扱えないエンコーディングが指定されている場合には ASCII-8BIT が、default_external に設定されます。
+default_external は必ず設定されます。[[m:Encoding.locale_charmap]] が nil を返す場合には US-ASCII が、ロケールにRubyが扱えないエンコーディングが指定されている場合には ASCII-8BIT が、default_external に設定されます。
@see [[man:locale(1)]], [[m:Encoding.locale_charmap]]
@@ -143,14 +137,12 @@ default_external は必ず設定されます。[[m:Encoding.locale_charmap]] が
Encoding::UTF_8.names => ["UTF-8", "CP65001"]
--- dummy? -> bool
-自身がダミーエンコーディングである場合に true を返します。
-そうでない場合に false を返します。
+自身がダミーエンコーディングである場合に true を返します。そうでない場合に false を返します。
ダミーエンコーディングとは Ruby が名前を知っているものの実質的には対応していないエンコーディングのことです。例えば、ダミーエンコーディングで符号化された文字列の場合、 [[m:String#length]] はマルチバイト文字を考慮せずにバイト列の長さを返します。
ダミーエンコーディングも [[c:IO]] の外部エンコーディングに指定できます。また
-Ruby はサポートしていないが拡張ライブラリがサポートしているエンコーディングを扱う場合にも
-用います。
+Ruby はサポートしていないが拡張ライブラリがサポートしているエンコーディングを扱う場合にも用います。
例:
Encoding::ISO_2022_JP.dummy? #=> true
@@ -159,8 +151,7 @@ Ruby はサポートしていないが拡張ライブラリがサポートして
#@since 1.9.2
--- ascii_compatible? -> bool
-自身が ASCII 互換のエンコーディングである場合真返します。
-そうでない場合は偽を返します。
+自身が ASCII 互換のエンコーディングである場合真返します。そうでない場合は偽を返します。
例:
@@ -169,8 +160,7 @@ Ruby はサポートしていないが拡張ライブラリがサポートして
--- replicate(name) -> Encoding
-レシーバのエンコーディングを複製(replicate)します。
-複製されたエンコーディングは元のエンコーディングと同じバイト構造を持たなければなりません。
+レシーバのエンコーディングを複製(replicate)します。複製されたエンコーディングは元のエンコーディングと同じバイト構造を持たなければなりません。
name という名前のエンコーディングが既に存在する場合は [[c:ArgumentError]] を発生します。
#@end
@@ -272,8 +262,7 @@ UTF8-MAC、アップルによって修正された Normalization Form D(分解
UTF-7 です。
-7ビットの範囲内で表現される、Unicode のエンコーディングの一種です。
-ダミーエンコーディングです。
+7ビットの範囲内で表現される、Unicode のエンコーディングの一種です。ダミーエンコーディングです。
--- Big5 -> Encoding
@@ -343,8 +332,7 @@ G0 が US-ASCII、G1 が JIS X 0201 片仮名図形文字集合、G2 が JIS X 0
CP50220 エンコーディング、
Windows で用いられる ISO-2022-JP 亜種です。
-CP50221 とほぼ同様のエンコーディングですが、
-他のエンコーディングへの変換テーブルが少し異なります。
+CP50221 とほぼ同様のエンコーディングですが、他のエンコーディングへの変換テーブルが少し異なります。
@see [[url:http://legacy-encoding.osdn.jp/wiki/index.php?cp50220]]
@@ -671,8 +659,7 @@ ISO8859-8 エンコーディング。
ISO8859-9 エンコーディング。
-ISO8859-1 に近い、
-トルコ語を扱うことができる8bit single-byteエンコーディングです。
+ISO8859-1 に近い、トルコ語を扱うことができる8bit single-byteエンコーディングです。
@see [[m:Encoding::Windows_1254]]
@@ -868,8 +855,7 @@ KDDI の携帯電話で使われる絵文字が含まれています。
--- TIS_620 -> Encoding
TIS-620 エンコーディング。
-タイ語を扱うためのエンコーディングで、 ISO8859-11 とほぼ
-同一のエンコーディングです。
+タイ語を扱うためのエンコーディングで、 ISO8859-11 とほぼ同一のエンコーディングです。
@see [[url:http://en.wikipedia.org/wiki/Thai_Industrial_Standard_620-2533]]
@@ -1033,8 +1019,7 @@ EUC-JPに加え、Windowsの機種依存文字とユーザ定義文字を扱う
MacCentEuro エンコーディング。
Mac OSで使われる
-8bit single-byteエンコーディングで、
-中欧および南東欧の言語を取り扱うものです。
+8bit single-byteエンコーディングで、中欧および南東欧の言語を取り扱うものです。
@see [[url:http://en.wikipedia.org/wiki/Macintosh_Central_European_encoding]]
@@ -1043,8 +1028,7 @@ Mac OSで使われる
MacCroatian エンコーディング。
Mac OS で使われる
-8bit single-byteエンコーディングで、
-クロアチア語、スベロニア語を取り扱うものです。
+8bit single-byteエンコーディングで、クロアチア語、スベロニア語を取り扱うものです。
@see [[url:http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CROATIAN.TXT]]
@@ -1053,8 +1037,7 @@ Mac OS で使われる
MacCyrillic エンコーディング。
-Mac OS で使われる 8bit single-byte エンコーディングで、
-キリル文字を取り扱うものです。
+Mac OS で使われる 8bit single-byte エンコーディングで、キリル文字を取り扱うものです。
@see [[url:http://en.wikipedia.org/wiki/Macintosh_Cyrillic_encoding]]
@@ -1063,8 +1046,7 @@ Mac OS で使われる 8bit single-byte エンコーディングで、
MacGreek エンコーディング。
Mac OSで使われる
-8bit single-byte エンコーディングで、
-ギリシャ語のために使われます。
+8bit single-byte エンコーディングで、ギリシャ語のために使われます。
@see [[url:http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/GREEK.TXT]]
@@ -1074,8 +1056,7 @@ Mac OSで使われる
MacIceland エンコーディング。
Mac OSで使われる
-8bit single-byte エンコーディングで、
-アイスランド語のために使われます
+8bit single-byte エンコーディングで、アイスランド語のために使われます
@see [[url:http://en.wikipedia.org/wiki/Mac_Icelandic_encoding]]
@@ -1084,8 +1065,7 @@ Mac OSで使われる
MacRoman エンコーディング。
Mac OSで使われる
-8bit single-byte エンコーディングで、
-西欧を中心としたラテン文字を用いる諸語を取り扱うためのものです。
+8bit single-byte エンコーディングで、西欧を中心としたラテン文字を用いる諸語を取り扱うためのものです。
IANA character-sets で "macintosh" で表現されるものです。
@@ -1096,8 +1076,7 @@ IANA character-sets で "macintosh" で表現されるものです。
MacRoman エンコーディング。
Mac OSで使われる
-8bit single-byte エンコーディングで、
-ルーマニア語のために使われます。
+8bit single-byte エンコーディングで、ルーマニア語のために使われます。
@see [[url:http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMANIAN.TXT]]
@@ -1114,8 +1093,7 @@ MacThai エンコーディング。
MacTurkish エンコーディング。
Mac OSで使われる
-8bit single-byte エンコーディングで、
-トルコ語のために使われます。
+8bit single-byte エンコーディングで、トルコ語のために使われます。
@see [[url:http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/TURKISH.TXT]]
@@ -1157,8 +1135,7 @@ UTF-8 にしかない文字を EUC-JP に変換しようとした場合などに
#=> Encoding::UndefinedConversionError: U+2603 from UTF-8 to EUC-JP
-変換が多段階でなされ、その途中で例外が生じた場合は、
-例外オブジェクトが保持するエラー情報はその中間のものになります。
+変換が多段階でなされ、その途中で例外が生じた場合は、例外オブジェクトが保持するエラー情報はその中間のものになります。
ec = Encoding::Converter.new("ISO-8859-1", "EUC-JP")
# ISO-8859-1 -> UTF-8 -> EUC-JP
begin
@@ -1200,8 +1177,7 @@ UTF-8 にしかない文字を EUC-JP に変換しようとした場合などに
エラーを発生させた変換の変換元のエンコーディングを [[c:Encoding]]
オブジェクトで返します。
-変換が多段階になされる場合は元の文字列のものではない
-エンコーディングが返される場合があることに注意してください。
+変換が多段階になされる場合は元の文字列のものではないエンコーディングが返される場合があることに注意してください。
@see [[m:Encoding::UndefinedConversionError#destination_encoding]]
@@ -1211,8 +1187,7 @@ UTF-8 にしかない文字を EUC-JP に変換しようとした場合などに
@see [[m:Encoding::UndefinedConversionError#source_encoding]]
= class Encoding::InvalidByteSequenceError < EncodingError
-文字列がそのエンコーディングにおいて不正なバイト列である場合に発生
-する例外。
+文字列がそのエンコーディングにおいて不正なバイト列である場合に発生する例外。
通常エンコーディング変換時に発生します。
@@ -1270,9 +1245,7 @@ UTF-8 にしかない文字を EUC-JP に変換しようとした場合などに
--- incomplete_input? -> bool
エラー発生時に入力文字列が不足している場合に真を返します。
-つまり、マルチバイト文字列の途中で文字列が終わっている場合に
-真を返します。これは後続の入力を追加することでエラーが
-解消する可能性があることを意味します。
+つまり、マルチバイト文字列の途中で文字列が終わっている場合に真を返します。これは後続の入力を追加することでエラーが解消する可能性があることを意味します。
ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
@@ -1293,8 +1266,7 @@ UTF-8 にしかない文字を EUC-JP に変換しようとした場合などに
end
= class Encoding::ConverterNotFoundError < EncodingError
-指定した名前のエンコーディング変換をする変換器が
-存在しない場合に発生する例外。
+指定した名前のエンコーディング変換をする変換器が存在しない場合に発生する例外。
"あ".encode("Foo")
#=> Encoding::ConverterNotFoundError: code converter not found (UTF-8 to Foo)
diff --git a/refm/api/src/_builtin/Encoding__Converter b/refm/api/src/_builtin/Encoding__Converter
index 800a5261..c9ee129a 100644
--- a/refm/api/src/_builtin/Encoding__Converter
+++ b/refm/api/src/_builtin/Encoding__Converter
@@ -2,8 +2,7 @@
=class Encoding::Converter
文字エンコーディング(文字符号化方式)の変換器のクラスです。既存の変換器より一段細かな処理が可能となります。
-Encoding::Converter を用いて変換を行う場合は、[[m:Encoding::Converter#convert]] か、より細かな変換処理が可能な [[m:Encoding::Converter#primitive_convert]] が利用できます。
-エンコーディングを変換するメソッドはこの他に [[m:String#encode]], [[m:NKF.#nkf]]
+Encoding::Converter を用いて変換を行う場合は、[[m:Encoding::Converter#convert]] か、より細かな変換処理が可能な [[m:Encoding::Converter#primitive_convert]] が利用できます。エンコーディングを変換するメソッドはこの他に [[m:String#encode]], [[m:NKF.#nkf]]
#@until 2.0.0
, [[m:Iconv#conv]]
#@end
@@ -40,8 +39,7 @@ options では [[m:String#encode]] でのハッシュオプションに加えて
@param encoding エンコーディングオブジェクト
@return ASCII 互換エンコーディングのオブジェクトか nil
-引数とエンコーディングと同じ文字集合を持つ ASCII 互換エンコーディングを返します。引数と戻り値、2 つのエンコーディング間では変換しても未定義文字の例外は発生しません。
-引数が ASCII 互換エンコーディングである場合や、エンコーディングでない場合は nil を返します。
+引数とエンコーディングと同じ文字集合を持つ ASCII 互換エンコーディングを返します。引数と戻り値、2 つのエンコーディング間では変換しても未定義文字の例外は発生しません。引数が ASCII 互換エンコーディングである場合や、エンコーディングでない場合は nil を返します。
Encoding::Converter.asciicompat_encoding("ISO-2022-JP") #=> #<Encoding:stateless-ISO-2022-JP>
Encoding::Converter.asciicompat_encoding("UTF-16BE") #=> #<Encoding:UTF-8>
@@ -131,9 +129,7 @@ Encoding::Converter オブジェクトの情報を簡単に表示します。
p ec.convert("a \u3042 b") #=> "a <undef> b"
--- convert(source_string) -> String
-与えられた文字列を変換して、変換できた結果を返します。
-引数の末尾の文字がバイト列の途中で終わっている場合、そのバイト列は変換器内に取り置かれます。
-変換を終了させるには [[m:Encoding::Converter#finish]] を呼びます。
+与えられた文字列を変換して、変換できた結果を返します。引数の末尾の文字がバイト列の途中で終わっている場合、そのバイト列は変換器内に取り置かれます。変換を終了させるには [[m:Encoding::Converter#finish]] を呼びます。
[[c:Encoding::Converter]] を用いると、文字列の一部または全部を渡して変換を行うことができます。よって、不正なバイトを意識せずにストリームから読み出した文字列を変換したいときには Encoding::Converter が適します。
@@ -160,12 +156,10 @@ Encoding::Converter オブジェクトの情報を簡単に表示します。
puts ec.finish.dump #=> "\e(B".force_encoding("ISO-2022-JP")
--- last_error -> Exception | nil
-直前に変換器で発生した例外に相当する例外オブジェクトを返します
-直線の変換で例外が発生していない場合は nil を返します。
+直前に変換器で発生した例外に相当する例外オブジェクトを返します直線の変換で例外が発生していない場合は nil を返します。
--- finish -> String
-変換処理を終了し、結果文字列の末尾を返します。
-変換元の文字列の末尾がバイト列の途中で終わっていた場合、保持しているバイト列全てを返します。
+変換処理を終了し、結果文字列の末尾を返します。変換元の文字列の末尾がバイト列の途中で終わっていた場合、保持しているバイト列全てを返します。
@return 変換結果の末尾
@raise Encoding::InvalidByteSequenceError 変換元のエンコーディングにお
@@ -239,8 +233,7 @@ options には以下が指定できます。
@return [result, enc1, enc2, error_bytes, readagain_bytes] という五要素の配列
-result は直前の primitive_convert の戻り値です。
-それ以外の四要素は :invalid_byte_sequence か :incomplete_input か :undefined_conversion だった場合に意味を持ちます。
+result は直前の primitive_convert の戻り値です。それ以外の四要素は :invalid_byte_sequence か :incomplete_input か :undefined_conversion だった場合に意味を持ちます。
enc1 はエラーの発生した原始変換の変換元のエンコーディング、enc2 は変換先のエンコーディングです。
error_bytes はエラーの発生原因となったバイト列、readagain_bytes は先読みによって変換器内部に保持されているバイト列です。
@@ -296,11 +289,9 @@ primitive_errinfo はもっぱら [[m:Encoding::Converter#primitive_convert]]
#=> ""
--- insert_output(string) -> nil
-変換器内のバッファに文字列を挿入します。
-バッファに保持された文字列は、次の変換時の変換結果と一緒に返されます。
+変換器内のバッファに文字列を挿入します。バッファに保持された文字列は、次の変換時の変換結果と一緒に返されます。
-変換先がステートフルなエンコーディングであった場合、
-挿入された文字列は状態に基づいて変換され、状態を更新します。
+変換先がステートフルなエンコーディングであった場合、挿入された文字列は状態に基づいて変換され、状態を更新します。
このメソッドは変換に際してエラーが発生した際にのみ利用されるべきです。
@@ -326,9 +317,7 @@ primitive_errinfo はもっぱら [[m:Encoding::Converter#primitive_convert]]
--- putback -> String
--- putback(max_numbytes) -> String
-後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定した
-バイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバ
-イト列の全てを返します。
+後の変換用に変換器内部で保持しているバイト列を max_numbytes で指定したバイト数だけ返します。max_numbytes を指定しなかった場合は保持しているバイト列の全てを返します。
@param max_numbytes 取得するバイト列の最大値
diff --git a/refm/api/src/_builtin/Enumerable b/refm/api/src/_builtin/Enumerable
index 8b3bfeea..8e51386f 100644
--- a/refm/api/src/_builtin/Enumerable
+++ b/refm/api/src/_builtin/Enumerable
@@ -1,8 +1,6 @@
= module Enumerable
-繰り返しを行なうクラスのための Mix-in。このモジュールの
-メソッドは全て each を用いて定義されているので、インクルード
-するクラスには each が定義されていなければなりません。
+繰り返しを行なうクラスのための Mix-in。このモジュールのメソッドは全て each を用いて定義されているので、インクルードするクラスには each が定義されていなければなりません。
== Instance Methods
@@ -13,12 +11,9 @@
--- all?(pattern) -> bool
#@end
-すべての要素が真である場合に true を返します。
-偽である要素があれば、ただちに false を返します。
+すべての要素が真である場合に true を返します。偽である要素があれば、ただちに false を返します。
-ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
-が真である場合に true を返します。ブロックが偽を返した時点で、
-ただちに false を返します。
+ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果が真である場合に true を返します。ブロックが偽を返した時点で、ただちに false を返します。
#@since 2.5.0
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
@@ -41,12 +36,9 @@
--- any?(pattern) -> bool
#@end
-すべての要素が偽である場合に false を返します。
-真である要素があれば、ただちに true を返します。
+すべての要素が偽である場合に false を返します。真である要素があれば、ただちに true を返します。
-ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
-が偽である場合に false を返します。ブロックが真を返した時点
-で、ただちに true を返します。
+ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果が偽である場合に false を返します。ブロックが真を返した時点で、ただちに true を返します。
#@since 2.5.0
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
@@ -75,11 +67,9 @@
#@until 1.9.1
ブロックを省略した場合、
-obj.collect {|item| item } を実行します。
-これは [[m:Enumerable#to_a]] と同じです。
+obj.collect {|item| item } を実行します。これは [[m:Enumerable#to_a]] と同じです。
#@else
-ブロックを省略した場合、上で説明した繰り返しを実行し、その結果として
-得られる配列を返すような [[c:Enumerator]] オブジェクトを返します。
+ブロックを省略した場合、上で説明した繰り返しを実行し、その結果として得られる配列を返すような [[c:Enumerator]] オブジェクトを返します。
#@end
例:
@@ -101,8 +91,7 @@ obj.collect {|item| item } を実行します。
self を返します。
#@since 1.9.1
-ブロックを省略した場合は、
-要素とそのインデックスを繰り返すような
+ブロックを省略した場合は、要素とそのインデックスを繰り返すような
[[c:Enumerator]] を返します。
#@end
@@ -134,12 +123,10 @@ self を返します。
要素に対してブロックを評価した値が真になった最初の要素を返します。
-真になる要素が見つからず、ifnone も指定されていないときは nil を返します。
-真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。
+真になる要素が見つからず、ifnone も指定されていないときは nil を返します。真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。
#@since 1.9.1
-ブロックを省略した場合は、各要素に対しブロックを真になるまで評価し、最初に
-真になった値を返すような [[c:Enumerator]] を返します。
+ブロックを省略した場合は、各要素に対しブロックを真になるまで評価し、最初に真になった値を返すような [[c:Enumerator]] を返します。
#@end
#@since 1.8.0
@@ -173,12 +160,10 @@ self を返します。
--- find_all {|item| ... } -> [object]
--- select {|item| ... } -> [object]
-各要素に対してブロックを評価した値が真であった要素を全て含む配列を
-返します。真になる要素がひとつもなかった場合は空の配列を返します。
+各要素に対してブロックを評価した値が真であった要素を全て含む配列を返します。真になる要素がひとつもなかった場合は空の配列を返します。
#@since 1.9.1
-ブロックを省略した場合は、各要素に対しブロックを評価し
-真になった値の配列を返すような [[c:Enumerator]] を返します。
+ブロックを省略した場合は、各要素に対しブロックを評価し真になった値の配列を返すような [[c:Enumerator]] を返します。
#@end
例:
@@ -196,9 +181,7 @@ self を返します。
pattern === item が成立する要素を全て含んだ配列を返します。
-ブロックとともに呼び出された時には条件の成立した要素に対して
-それぞれブロックを評価し、その結果の配列を返します。
-マッチする要素がひとつもなかった場合は空の配列を返します。
+ブロックとともに呼び出された時には条件の成立した要素に対してそれぞれブロックを評価し、その結果の配列を返します。マッチする要素がひとつもなかった場合は空の配列を返します。
@param pattern 「===」メソッドを持つオブジェクトを指定します。
@@ -218,8 +201,7 @@ pattern === item が成立する要素を全て含んだ配列を返します。
--- grep_v(pattern) -> [object]
--- grep_v(pattern) { |item| ... } -> [object]
-[[m:Enumerable#grep]] のマッチの条件を逆にして、pattern === item が成立
-しない要素を全て含んだ配列を返します。
+[[m:Enumerable#grep]] のマッチの条件を逆にして、pattern === item が成立しない要素を全て含んだ配列を返します。
@param pattern 「===」メソッドを持つオブジェクトを指定します。
@@ -247,15 +229,11 @@ pattern === item が成立する要素を全て含んだ配列を返します。
最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
-self の次の要素を引数に順次ブロックを実行します。
-そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。
+self の次の要素を引数に順次ブロックを実行します。そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。
要素が存在しない場合は init を返します。
-初期値 init を省略した場合は、
-最初に先頭の要素と 2 番目の要素をブロックに渡します。
-また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
-要素がなければブロックを実行せずに nil を返します。
+初期値 init を省略した場合は、最初に先頭の要素と 2 番目の要素をブロックに渡します。また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。要素がなければブロックを実行せずに nil を返します。
@param init 最初の result の値です。任意のオブジェクトが渡せます。
#@since 1.8.7
@@ -307,8 +285,7 @@ val と == の関係にある要素を含むとき真を返します。
全要素が互いに <=> メソッドで比較できることを仮定しています。
#@since 2.2.0
-引数を指定しない形式では要素が存在しなければ nil を返します。
-引数を指定する形式では、空の配列を返します。
+引数を指定しない形式では要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。
#@else
要素が存在しなければ nil を返します。
#@end
@@ -330,12 +307,9 @@ val と == の関係にある要素を含むとき真を返します。
--- max(n) {|a, b| ... } -> Array
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最小の
-n 要素を返します。
-引数を指定しない形式では要素が存在しなければ nil を返します。
-引数を指定する形式では、空の配列を返します。
+n 要素を返します。引数を指定しない形式では要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。
#@else
-ブロックの評価結果で各要素の大小判定を行い、最大の要素を返します。
-要素が存在しなければ nil を返します。
+ブロックの評価結果で各要素の大小判定を行い、最大の要素を返します。要素が存在しなければ nil を返します。
#@end
ブロックの値は、a > b のとき正、
@@ -393,13 +367,11 @@ a == b のとき 0、a < b のとき負の整数を、期待しています。
--- max_by(n) {|item| ... } -> Array
#@end
-各要素を順番にブロックに渡して実行し、
-その評価結果を <=> で比較して、
+各要素を順番にブロックに渡して実行し、その評価結果を <=> で比較して、
#@since 2.2.0
最大であった値に対応する元の要素、もしくは最大の n 要素を返します。
-引数を指定しない形式では要素が存在しなければ nil を返します。
-引数を指定する形式では、空の配列を返します。
+引数を指定しない形式では要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。
#@else
最大であった値に対応する元の要素を返します。
@@ -407,8 +379,7 @@ a == b のとき 0、a < b のとき負の整数を、期待しています。
#@end
該当する要素が複数存在する場合、どの要素を返すかは不定です。
-[[m:Enumerable#max]] と [[m:Enumerable#max_by]] の
-違いは [[m:Enumerable#sort]] と [[m:Enumerable#sort_by]] の違いと同じです。
+[[m:Enumerable#max]] と [[m:Enumerable#max_by]] の違いは [[m:Enumerable#sort]] と [[m:Enumerable#sort_by]] の違いと同じです。
#@since 1.9.1
ブロックを省略した場合は [[c:Enumerator]] を返します。
@@ -487,8 +458,7 @@ a == b のとき 0、a < b のとき負の整数を、期待しています。
全要素が互いに <=> メソッドで比較できることを仮定しています。
#@since 2.2.0
-引数を指定しない形式では要素が存在しなければ nil を返します。
-引数を指定する形式では、空の配列を返します。
+引数を指定しない形式では要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。
#@else
要素が存在しなければ nil を返します。
#@end
@@ -510,12 +480,9 @@ a == b のとき 0、a < b のとき負の整数を、期待しています。
--- min(n) {|a, b| ... } -> Array
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の
-n 要素を返します。
-引数を指定しない形式では要素が存在しなければ nil を返します。
-引数を指定する形式では、空の配列を返します。
+n 要素を返します。引数を指定しない形式では要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。
#@else
-ブロックの評価結果で各要素の大小判定を行い、最小の要素を返します。
-要素が存在しなければ nil を返します。
+ブロックの評価結果で各要素の大小判定を行い、最小の要素を返します。要素が存在しなければ nil を返します。
#@end
ブロックの値は、a > b のとき正、a == b のとき 0、
@@ -575,13 +542,11 @@ a < b のとき負の整数を、期待しています。
--- min_by(n) {|item| ... } -> Array
#@end
-各要素を順番にブロックに渡して評価し、
-その評価結果を <=> で比較して、
+各要素を順番にブロックに渡して評価し、その評価結果を <=> で比較して、
#@since 2.2.0
最小であった値に対応する元の要素、もしくは最小の n 要素を返します。
-引数を指定しない形式では要素が存在しなければ nil を返します。
-引数を指定する形式では、空の配列を返します。
+引数を指定しない形式では要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。
#@else
最小であった値に対応する元の要素を返します。
@@ -594,8 +559,7 @@ a < b のとき負の整数を、期待しています。
ブロックを省略した場合は [[c:Enumerator]] を返します。
#@end
-[[m:Enumerable#min]] と [[m:Enumerable#min_by]] の
-違いは [[m:Enumerable#sort]] と [[m:Enumerable#sort_by]] の違いと同じです。
+[[m:Enumerable#min]] と [[m:Enumerable#min_by]] の違いは [[m:Enumerable#sort]] と [[m:Enumerable#sort_by]] の違いと同じです。
#@since 2.2.0
@param n 取得する要素数。
@@ -623,15 +587,10 @@ a < b のとき負の整数を、期待しています。
#@end
--- partition {|item| ... } -> [[object], [object]]
-各要素を、ブロックの条件を満たす要素と満たさない要素に分割します。
-各要素に対してブロックを評価して、その値が真であった要素の配列と、
-偽であった要素の配列の 2 つを配列に入れて返します。
+各要素を、ブロックの条件を満たす要素と満たさない要素に分割します。各要素に対してブロックを評価して、その値が真であった要素の配列と、偽であった要素の配列の 2 つを配列に入れて返します。
#@since 1.9.1
-ブロックを省略した場合は、各要素に対しブロックを評価し、
-上のようにその値が真であった要素の配列と、
-偽であった要素の配列のペアを返すような [[c:Enumerator]] を
-返します。
+ブロックを省略した場合は、各要素に対しブロックを評価し、上のようにその値が真であった要素の配列と、偽であった要素の配列のペアを返すような [[c:Enumerator]] を返します。
#@end
例:
@@ -648,13 +607,10 @@ a < b のとき負の整数を、期待しています。
#@end
--- reject {|item| ... } -> [object]
-各要素に対してブロックを評価し、
-その値が偽であった要素を集めた新しい配列を返します。
-条件を反転させた select です。
+各要素に対してブロックを評価し、その値が偽であった要素を集めた新しい配列を返します。条件を反転させた select です。
#@since 1.9.1
-ブロックを省略した場合は、各要素に対しブロックを評価し
-偽になった値の配列を返すような [[c:Enumerator]] を返します。
+ブロックを省略した場合は、各要素に対しブロックを評価し偽になった値の配列を返すような [[c:Enumerator]] を返します。
#@end
例:
@@ -672,21 +628,14 @@ a < b のとき負の整数を、期待しています。
全ての要素を昇順にソートした配列を生成して返します。
-ブロックなしのときは <=> メソッドを要素に対して呼び、
-その結果をもとにソートします。
+ブロックなしのときは <=> メソッドを要素に対して呼び、その結果をもとにソートします。
-<=> 以外でソートしたい場合は、ブロックを指定します。
-この場合、ブロックの評価結果を元にソートします。
-ブロックの値は、a > b のとき正、a == b のとき 0、
-a < b のとき負の整数を、期待しています。
-ブロックが整数以外を返したときは例外 [[c:TypeError]] が発生します。
+<=> 以外でソートしたい場合は、ブロックを指定します。この場合、ブロックの評価結果を元にソートします。ブロックの値は、a > b のとき正、a == b のとき 0、
+a < b のとき負の整数を、期待しています。ブロックが整数以外を返したときは例外 [[c:TypeError]] が発生します。
-Enumerable#sort は安定ではありません (unstable sort)。
-安定なソートが必要な場合は [[m:Enumerable#sort_by]] を使って工夫する必要があります。
-詳しくは [[m:Enumerable#sort_by]] の項目を参照してください。
+Enumerable#sort は安定ではありません (unstable sort)。安定なソートが必要な場合は [[m:Enumerable#sort_by]] を使って工夫する必要があります。詳しくは [[m:Enumerable#sort_by]] の項目を参照してください。
-※ 比較結果が同じ要素は元の順序通りに並ぶソートを
-「安定なソート (stable sort)」と言います。
+※ 比較結果が同じ要素は元の順序通りに並ぶソートを「安定なソート (stable sort)」と言います。
例:
%w(rhea kea flea).sort # => ["flea", "kea", "rhea"]
@@ -704,8 +653,7 @@ Enumerable#sort は安定ではありません (unstable sort)。
#@end
--- sort_by {|item| ... } -> [object]
-ブロックの評価結果を <=> メソッドで比較することで、self を昇
-順にソートします。ソートされた配列を新たに生成して返します。
+ブロックの評価結果を <=> メソッドで比較することで、self を昇順にソートします。ソートされた配列を新たに生成して返します。
つまり、以下とほぼ同じ動作をします。
@@ -717,15 +665,12 @@ Enumerable#sort は安定ではありません (unstable sort)。
end
end
-[[m:Enumerable#sort]] と比較して sort_by が優れている点として、
-比較条件が複雑な場合の速度が挙げられます。
-sort_by を使わない以下の例では比較を行う度に downcase が実行されます。
-従って downcase の実行速度が遅ければ sort の速度が致命的に低下します。
+[[m:Enumerable#sort]] と比較して sort_by が優れている点として、比較条件が複雑な場合の速度が挙げられます。
+sort_by を使わない以下の例では比較を行う度に downcase が実行されます。従って downcase の実行速度が遅ければ sort の速度が致命的に低下します。
p ["BAR", "FOO", "bar", "foo"].sort {|a, b| a.downcase <=> b.downcase }
-一方、次のように sort_by を使うと downcase の実行回数は要素数と同じです。
-つまり、その部分の実行時間は O(n) のオーダーです。
+一方、次のように sort_by を使うと downcase の実行回数は要素数と同じです。つまり、その部分の実行時間は O(n) のオーダーです。
p ["BAR", "FOO", "bar", "foo"].sort_by {|v| v.downcase }
@@ -749,18 +694,15 @@ sort_by を使わない以下の例では比較を行う度に downcase が実
ary.sort_by {|v| v.count }
p $n # => 1000
-Enumerable#sort_by は安定ではありません (unstable sort)。
-ただし、sort_by を以下のように使うと安定なソートを実装できます。
+Enumerable#sort_by は安定ではありません (unstable sort)。ただし、sort_by を以下のように使うと安定なソートを実装できます。
i = 0
ary.sort_by {|v| [v, i += 1] }
-※ 比較結果が同じ要素は元の順序通りに並ぶソートを
-「安定なソート (stable sort)」と言います。
+※ 比較結果が同じ要素は元の順序通りに並ぶソートを「安定なソート (stable sort)」と言います。
#@since 1.9.1
-ブロックを省略した場合は、各要素をブロックで評価した値でソートした
-配列を返すような [[c:Enumerator]] を返します。
+ブロックを省略した場合は、各要素をブロックで評価した値でソートした配列を返すような [[c:Enumerator]] を返します。
#@end
@@ -784,8 +726,7 @@ Enumerable#sort_by は安定ではありません (unstable sort)。
#@since 2.1.0
--- to_h(*args) -> Hash
-self を [key, value] のペアの配列として解析した結果を [[c:Hash]] にして
-返します。
+self を [key, value] のペアの配列として解析した結果を [[c:Hash]] にして返します。
@param args each の呼び出し時に引数として渡されます。
@@ -797,8 +738,7 @@ self を [key, value] のペアの配列として解析した結果を [[c:Hash]
--- zip(*lists) -> [[object]]
--- zip(*lists) {|v1, v2, ...| ...} -> nil
-self と引数に渡した配列の各要素からなる配列の配列を生成して返します。
-生成される配列の要素数は self の要素数と同じです。
+self と引数に渡した配列の各要素からなる配列の配列を生成して返します。生成される配列の要素数は self の要素数と同じです。
ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。
@@ -852,8 +792,7 @@ n 要素ずつブロックに渡して繰り返します。
要素数が n で割り切れないときは、最後の回だけ要素数が減ります。
#@until 1.9.1
-enum_slice は 1.9.1 以降ではなくなっています。
-代わりに each_slice を使ってください。
+enum_slice は 1.9.1 以降ではなくなっています。代わりに each_slice を使ってください。
#@end
#@since 1.9.1
@@ -884,12 +823,10 @@ n 要素ずつ繰り返す [[c:Enumerator]] を返します。
--- enum_cons(n) {|list| ... } -> nil
#@end
-要素を重複ありで n 要素ずつに区切り、
-ブロックに渡して繰り返します。
+要素を重複ありで n 要素ずつに区切り、ブロックに渡して繰り返します。
#@until 1.9.1
-enum_cons は 1.9.1 以降ではなくなっています。
-代わりに each_cons を使ってください。
+enum_cons は 1.9.1 以降ではなくなっています。代わりに each_cons を使ってください。
#@end
#@since 1.9.1
@@ -924,19 +861,15 @@ n 要素ずつ繰り返す [[c:Enumerator]] を返します。
レシーバの要素数を返します。
-引数を指定しない場合は、レシーバの要素数を返します。
-このとき、
+引数を指定しない場合は、レシーバの要素数を返します。このとき、
#@until 1.9.2
-レシーバが size メソッドを持っていればそちらを使用します。
-レシーバが size メソッドを持っていない場合は、
+レシーバが size メソッドを持っていればそちらを使用します。レシーバが size メソッドを持っていない場合は、
#@end
要素数を一つずつカウントします。
-引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
-個数をカウントして返します(一致は == で判定します)。
+引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの個数をカウントして返します(一致は == で判定します)。
-ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
-カウントして返します。
+ブロックを指定した場合は、ブロックを評価して真になった要素の個数をカウントして返します。
@param item カウント対象となる値。
@@ -954,23 +887,17 @@ n 要素ずつ繰り返す [[c:Enumerator]] を返します。
--- cycle(n=nil) -> Enumerable::Enumerator
#@end
--- cycle(n=nil) {|obj| ... } -> object | nil
-Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し
-ブロックを呼びだします。
+Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返しブロックを呼びだします。
-n に 0 もしくは負の値を渡した場合は何もしません。
-繰り返しが最後まで終了した場合(つまりbreakなどで中断しなかった場合)
-は nil を返します。
-このメソッドは内部の配列に各要素を保存しておくため、
-一度 Enumerable の終端に到達した後に自分自身を変更しても
-このメソッドの動作に影響を与えません。
+n に 0 もしくは負の値を渡した場合は何もしません。繰り返しが最後まで終了した場合(つまりbreakなどで中断しなかった場合)
+は nil を返します。このメソッドは内部の配列に各要素を保存しておくため、一度 Enumerable の終端に到達した後に自分自身を変更してもこのメソッドの動作に影響を与えません。
a = ["a", "b", "c"]
a.cycle {|x| puts x } # print, a, b, c, a, b, c,.. forever.
a.cycle(2) {|x| puts x } # print, a, b, c, a, b, c.
#@since 1.9.1
-ブロックを省略した場合は、n 回 or 無限回 enum の各要素を
-繰り返す [[c:Enumerator]] を返します。
+ブロックを省略した場合は、n 回 or 無限回 enum の各要素を繰り返す [[c:Enumerator]] を返します。
#@end
#@since 1.9.1
@@ -983,8 +910,7 @@ n に 0 もしくは負の値を渡した場合は何もしません。
--- drop(n) -> Array
-Enumerable オブジェクトの先頭の n 要素を捨てて、
-残りの要素を配列として返します。
+Enumerable オブジェクトの先頭の n 要素を捨てて、残りの要素を配列として返します。
@param n 捨てる要素数。
@@ -998,8 +924,7 @@ Enumerable オブジェクトの先頭の n 要素を捨てて、
#@end
--- drop_while {|element| ... } -> Array
-ブロックを評価して最初に偽となった要素の手前の要素まで捨て、
-残りの要素を配列として返します。
+ブロックを評価して最初に偽となった要素の手前の要素まで捨て、残りの要素を配列として返します。
#@since 1.9.1
ブロックを指定しなかった場合は、[[c:Enumerator]] を返します。
@@ -1023,15 +948,12 @@ Enumerable オブジェクトの先頭の n 要素を捨てて、
@param val 位置を知りたいオブジェクトを指定します。
-指定された val と == で等しい最初の要素の位置を返します。
-等しい要素がひとつもなかった場合は nil を返します。
+指定された val と == で等しい最初の要素の位置を返します。等しい要素がひとつもなかった場合は nil を返します。
(1..10).find_index(11) #=> nil
(1..10).find_index(2) #=> 1
-ブロックが与えられた場合には、各要素を引数として先頭から順にブロックを実行し、
-ブロックが真を返した最初の要素の位置を返します。
-一つも真にならなかった場合は nil を返します。
+ブロックが与えられた場合には、各要素を引数として先頭から順にブロックを実行し、ブロックが真を返した最初の要素の位置を返します。一つも真にならなかった場合は nil を返します。
(1..10).find_index {|i| i % 5 == 0 and i % 7 == 0 } #=> nil
(1..100).find_index {|i| i % 5 == 0 and i % 7 == 0 } #=> 34
@@ -1048,8 +970,7 @@ Enumerable オブジェクトの先頭の n 要素を捨てて、
Enumerable オブジェクトの最初の要素、もしくは最初の n 要素を返します。
-Enumerable オブジェクトが空の場合、引数を指定しない形式では nil を返します。
-引数を指定する形式では、空の配列を返します。
+Enumerable オブジェクトが空の場合、引数を指定しない形式では nil を返します。引数を指定する形式では、空の配列を返します。
@param n 取得する要素数。
@@ -1080,14 +1001,11 @@ Enumerable オブジェクトが空の場合、引数を指定しない形式で
--- minmax -> [object, object]
--- minmax{|a, b| ... } -> [object, object]
-Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を
-要素とするサイズ 2 の配列を返します。
+Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
-一つ目の形式は、Enumerable オブジェクトのすべての要素が Comparable を
-実装していることを仮定しています。二つ目の形式では、要素同士の比較を
-ブロックを用いて行います。
+一つ目の形式は、Enumerable オブジェクトのすべての要素が Comparable を実装していることを仮定しています。二つ目の形式では、要素同士の比較をブロックを用いて行います。
a = %w(albatross dog horse)
a.minmax #=> ["albatross", "horse"]
@@ -1103,14 +1021,11 @@ Enumerable オブジェクトの各要素のうち最小の要素と最大の要
#@end
--- minmax_by {|obj| ... } -> [object, object]
-Enumerable オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して
-最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
+Enumerable オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
-[[m:Enumerable#minmax]] と [[m:Enumerable#minmax_by]] の
-違いは sort と sort_by の違いと同じです。
-詳細は [[m:Enumerable#sort_by]] を参照してください。
+[[m:Enumerable#minmax]] と [[m:Enumerable#minmax_by]] の違いは sort と sort_by の違いと同じです。詳細は [[m:Enumerable#sort_by]] を参照してください。
a = %w(albatross dog horse)
a.minmax_by {|x| x.length } #=> ["dog", "albatross"]
@@ -1118,8 +1033,7 @@ Enumerable オブジェクトの各要素をブロックに渡して評価し、
[].minmax_by{} # => [nil, nil]
#@since 1.9.1
-ブロックを省略した場合は、[[c:Enumerator]] オブジェクトを
-返します。
+ブロックを省略した場合は、[[c:Enumerator]] オブジェクトを返します。
#@end
@see [[m:Enumerable#sort_by]]
@@ -1129,12 +1043,9 @@ Enumerable オブジェクトの各要素をブロックに渡して評価し、
#@since 2.5.0
--- none?(pattern) -> bool
#@end
-ブロックを指定しない場合は、 Enumerable オブジェクトのすべての
-要素が偽であれば真を返します。そうでなければ偽を返します。
+ブロックを指定しない場合は、 Enumerable オブジェクトのすべての要素が偽であれば真を返します。そうでなければ偽を返します。
-ブロックを指定した場合は、Enumerable オブジェクトのすべての要素を
-ブロックで評価した結果が、すべて偽であれば真を返します。
-そうでなければ偽を返します。
+ブロックを指定した場合は、Enumerable オブジェクトのすべての要素をブロックで評価した結果が、すべて偽であれば真を返します。そうでなければ偽を返します。
#@since 2.5.0
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
@@ -1156,13 +1067,9 @@ Enumerable オブジェクトの各要素をブロックに渡して評価し、
--- one?(pattern) -> bool
#@end
-ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち
-ちょうど一つだけが真であれば、真を返します。
-そうでなければ偽を返します。
+ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうちちょうど一つだけが真であれば、真を返します。そうでなければ偽を返します。
-ブロックを指定した場合は、Enumerable オブジェクトの要素を
-ブロックで評価した結果、一つの要素だけが真であれば真を返します。
-そうでなければ偽を返します。
+ブロックを指定した場合は、Enumerable オブジェクトの要素をブロックで評価した結果、一つの要素だけが真であれば真を返します。そうでなければ偽を返します。
#@since 2.5.0
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
@@ -1196,15 +1103,13 @@ Enumerable オブジェクトの先頭から n 要素を配列として返しま
#@end
--- take_while {|element| ... } -> Array
-Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。
-最初に偽になった要素の手前の要素までを配列として返します。
+Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。最初に偽になった要素の手前の要素までを配列として返します。
a = [1, 2, 3, 4, 5, 0]
a.take_while {|i| i < 3 } # => [1, 2]
#@since 1.9.1
-ブロックを省略した場合は、[[c:Enumerator]] オブジェクトを
-返します。
+ブロックを省略した場合は、[[c:Enumerator]] オブジェクトを返します。
#@end
#@since 1.9.1
@@ -1237,8 +1142,7 @@ Enumerable オブジェクトの要素を順に偽になるまでブロックで
与えられた任意のオブジェクトと要素をブロックに渡し繰り返し、最初に与えられたオブジェクトを返します。
-ブロックを省略した場合は、上の繰り返しをして、最初に与えたオブジェクトを
-最後に返す [[c:Enumerator]] を返します。
+ブロックを省略した場合は、上の繰り返しをして、最初に与えたオブジェクトを最後に返す [[c:Enumerator]] を返します。
@param obj 任意のオブジェクトを指定します。
@@ -1257,8 +1161,7 @@ Enumerable オブジェクトの要素を順に偽になるまでブロックで
ブロックの返り値は基本的に配列を返すべきです。
-ブロックを省略した場合は、ブロックを受けとり
-上で説明した評価をし、その結果の配列を返す
+ブロックを省略した場合は、ブロックを受けとり上で説明した評価をし、その結果の配列を返す
[[c:Enumerator]] オブジェクトを返します。
[[1,2], [3,4]].flat_map{|i| i.map{|j| j*2}} # => [2,4,6,8]
@@ -1268,25 +1171,19 @@ Enumerable オブジェクトの要素を順に偽になるまでブロックで
--- chunk(initial_state) {|elt, state| ... } -> Enumerator
#@end
-要素を前から順にブロックで評価し、その結果によって
-要素をチャンクに分けた(グループ化した)要素を持つ
+要素を前から順にブロックで評価し、その結果によって要素をチャンクに分けた(グループ化した)要素を持つ
[[c:Enumerator]] を返します。
-ブロックの評価値が同じ値が続くものを一つのチャンクとして
-取り扱います。すなわち、ブロックの評価値が一つ前と
-異なる所でチャンクが区切られます。
+ブロックの評価値が同じ値が続くものを一つのチャンクとして取り扱います。すなわち、ブロックの評価値が一つ前と異なる所でチャンクが区切られます。
-返り値の [[c:Enumerator]] は各チャンクのブロック評価値と
-各チャンクの要素を持つ配列のペアを各要素とします。
-そのため、eachだと以下のようになります。
+返り値の [[c:Enumerator]] は各チャンクのブロック評価値と各チャンクの要素を持つ配列のペアを各要素とします。そのため、eachだと以下のようになります。
enum.chunk {|elt| key }.each {|key, ary| ... }
#@until 2.3.0
enum.chunk(initial_state) {|elt, state| key }.each {|key, ary| ... }
#@end
-例として、整数列を連続する奇数/偶数に分ける例を見てみます。
-「n.even?」の値が切り替わるところで区切られているのがわかるでしょう。
+例として、整数列を連続する奇数/偶数に分ける例を見てみます。「n.even?」の値が切り替わるところで区切られているのがわかるでしょう。
[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5].chunk {|n|
n.even?
}.each {|even, ary|
@@ -1298,8 +1195,7 @@ Enumerable オブジェクトの要素を順に偽になるまでブロックで
# [true, [2, 6]]
# [false, [5, 3, 5]]
-このメソッドは各要素が既にソートされている場合に便利です。
-以下の例では、テキスト辞書ファイル(中身がソートされている)
+このメソッドは各要素が既にソートされている場合に便利です。以下の例では、テキスト辞書ファイル(中身がソートされている)
に含まれる単語を先頭の文字ごとに数えています。
# line.ord は先頭の文字のコードポイントを返す
open("/usr/share/dict/words", "r:iso-8859-1") {|f|
@@ -1324,8 +1220,7 @@ Enumerable オブジェクトの要素を順に偽になるまでブロックで
items.chunk { |item| :_underscore }
# => RuntimeError: symbols beginning with an underscore are reserved
-nil、 :_separator はある要素を無視したい場合に用います。
-例として svn log の出力のハイフンの所で区切りたい場合を考えます。
+nil、 :_separator はある要素を無視したい場合に用います。例として svn log の出力のハイフンの所で区切りたい場合を考えます。
sep = "-"*72 + "\n" # ハイフンが72個の行
IO.popen("svn log README") {|f|
f.chunk {|line|
@@ -1351,9 +1246,7 @@ nil、 :_separator はある要素を無視したい場合に用います。
pp lines
}
-「:_alone」は要素を素通ししたい場合に用います。
-以下の例では「Foo#bar」という形式の行が連続している場合のみ
-チャンク化し、それ以外は素通しします。
+「:_alone」は要素を素通ししたい場合に用います。以下の例では「Foo#bar」という形式の行が連続している場合のみチャンク化し、それ以外は素通しします。
pat = /\A[A-Z][A-Za-z0-9_]+\#/
open(filename) {|f|
@@ -1367,10 +1260,7 @@ nil、 :_separator はある要素を無視したい場合に用います。
}
#@until 2.3.0
-チャンク化に状態遷移が必要な場合は、
-オプション引数 initial_state に状態を保持するオブジェクトを渡します。
-この場合、ブロックの第2引数にはこのオブジェクトが dup で複製
-されて渡されます。
+チャンク化に状態遷移が必要な場合は、オプション引数 initial_state に状態を保持するオブジェクトを渡します。この場合、ブロックの第2引数にはこのオブジェクトが dup で複製されて渡されます。
#@# 例を追加したい
@param initial_state 状態を保持するオブジェクト。この引数は deprecated です。
@@ -1380,11 +1270,9 @@ nil、 :_separator はある要素を無視したい場合に用います。
#@since 2.3.0
--- chunk_while {|elt_before, elt_after| ... } -> Enumerator
-要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け
-た(グループ化した)要素を持つ[[c:Enumerator]] を返します。
+要素を前から順にブロックで評価し、その結果によって要素をチャンクに分けた(グループ化した)要素を持つ[[c:Enumerator]] を返します。
-隣り合う値をブロックパラメータ elt_before、elt_after に渡し、ブロックの
-評価値が偽になる所でチャンクを区切ります。
+隣り合う値をブロックパラメータ elt_before、elt_after に渡し、ブロックの評価値が偽になる所でチャンクを区切ります。
ブロックは self の長さ - 1 回呼び出されます。
@@ -1418,8 +1306,7 @@ nil、 :_separator はある要素を無視したい場合に用います。
p a.chunk_while {|i, j| i.even? == j.even? }.to_a
# => [[7, 5, 9], [2, 0], [7, 9], [4, 2, 0]]
-[[m:Enumerable#slice_when]] はブロックの戻り値が真ではなく偽の時に要素
-を分ける事を除いて同じ処理を行います。
+[[m:Enumerable#slice_when]] はブロックの戻り値が真ではなく偽の時に要素を分ける事を除いて同じ処理を行います。
@see [[m:Enumerable#slice_when]], [[m:Enumerable#chunk]]
#@end
@@ -1451,23 +1338,15 @@ nil、 :_separator はある要素を無視したい場合に用います。
--- slice_before(initial_state) {|elt, state| bool } -> Enumerator
#@end
-パターンがマッチした要素、もしくはブロックが真を返した要素から
-次にマッチする手前までを
-チャンク化(グループ化)したものを繰り返す [[c:Enumerator]] を
-返します。
+パターンがマッチした要素、もしくはブロックが真を返した要素から次にマッチする手前までをチャンク化(グループ化)したものを繰り返す [[c:Enumerator]] を返します。
-パターンを渡した場合は各要素に対し === が呼び出され、
-それが真になったところをチャンクの先頭と見なします。
-ブロックを渡した場合は、各要素に対しブロックを適用し
-返り値が真であった要素をチャンクの先頭と見なします。
+パターンを渡した場合は各要素に対し === が呼び出され、それが真になったところをチャンクの先頭と見なします。ブロックを渡した場合は、各要素に対しブロックを適用し返り値が真であった要素をチャンクの先頭と見なします。
-より厳密にいうと、「先頭要素」の手前で分割していきます。
-最初の要素の評価は無視されます。
+より厳密にいうと、「先頭要素」の手前で分割していきます。最初の要素の評価は無視されます。
各チャンクは配列として表現されます。
-[[m:Enumerable#to_a]] や [[m:Enumerable#map]] のようなメソッドを使うこ
-ともできます。
+[[m:Enumerable#to_a]] や [[m:Enumerable#map]] のようなメソッドを使うこともできます。
# 偶数要素をチャンクの先頭と見なす
[0,2,4,1,2,4,5,3,1,4,2].slice_before(&:even?).to_a
@@ -1499,9 +1378,7 @@ nil、 :_separator はある要素を無視したい場合に用います。
# ["Properties on 'regparse.c':\n", " svn:eol-style\n"]
# ...
-複数要素にわたる状態遷移が必要な場合は、ローカル変数でこれを実現する
-ことができます。例えば、連続に増える数値が3つ以上ある場合、これを
-まとめる処理をするためには以下のようにします
+複数要素にわたる状態遷移が必要な場合は、ローカル変数でこれを実現することができます。例えば、連続に増える数値が3つ以上ある場合、これをまとめる処理をするためには以下のようにします
([[m:Enumerable#chunk_while]] のより簡単な例も参照)。
a = [0,2,3,4,6,7,9]
@@ -1515,10 +1392,7 @@ nil、 :_separator はある要素を無視したい場合に用います。
#=> "0,2-4,6,7,9"
#@until 2.3.0
-しかし、ローカル変数を使うのが不適切な場合もあります。
-その場合、引数 initial_state に状態を保持するオブジェクトを
-渡すと、そのオブジェクトを [[m:Object#dup]] したオブジェクトを
-各要素ごとのブロック呼び出しの第2引数として渡します。
+しかし、ローカル変数を使うのが不適切な場合もあります。その場合、引数 initial_state に状態を保持するオブジェクトを渡すと、そのオブジェクトを [[m:Object#dup]] したオブジェクトを各要素ごとのブロック呼び出しの第2引数として渡します。
# word wrapping.
# this assumes all characters have same width.
def wordwrap(words, maxwidth)
@@ -1590,18 +1464,13 @@ nil、 :_separator はある要素を無視したい場合に用います。
--- slice_after(pattern) -> Enumerator
--- slice_after {|elt| bool } -> Enumerator
-パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素
-としてチャンク化(グループ化)したものを繰り返す [[c:Enumerator]] を 返し
-ます。
+パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素としてチャンク化(グループ化)したものを繰り返す [[c:Enumerator]] を 返します。
-パターンを渡した場合は各要素に対し === が呼び出され、 それが真になった
-ところをチャンクの末尾と見なします。 ブロックを渡した場合は、各要素に対
-しブロックを適用し 返り値が真であった要素をチャンクの末尾と見なします。
+パターンを渡した場合は各要素に対し === が呼び出され、 それが真になったところをチャンクの末尾と見なします。 ブロックを渡した場合は、各要素に対しブロックを適用し 返り値が真であった要素をチャンクの末尾と見なします。
パターンもブロックも最初から最後の要素まで呼び出されます。
-各チャンクは配列として表現されます。そのため、以下のような呼び出しを行
-う事もできます。
+各チャンクは配列として表現されます。そのため、以下のような呼び出しを行う事もできます。
enum.slice_after(pattern).each { |ary| ... }
enum.slice_after { |elt| bool }.each { |ary| ... }
@@ -1634,11 +1503,9 @@ nil、 :_separator はある要素を無視したい場合に用います。
#@since 2.2.0
--- slice_when {|elt_before, elt_after| bool } -> Enumerator
-要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け
-た(グループ化した)要素を持つ[[c:Enumerator]] を返します。
+要素を前から順にブロックで評価し、その結果によって要素をチャンクに分けた(グループ化した)要素を持つ[[c:Enumerator]] を返します。
-隣り合う値をブロックパラメータ elt_before、elt_after に渡し、ブロックの
-評価値が真になる所でチャンクを区切ります。
+隣り合う値をブロックパラメータ elt_before、elt_after に渡し、ブロックの評価値が真になる所でチャンクを区切ります。
ブロックは self の長さ - 1 回呼び出されます。
@@ -1683,8 +1550,7 @@ nil、 :_separator はある要素を無視したい場合に用います。
p lines.slice_when {|l1, l2| /\A\s*\z/ =~ l1 && /\S/ =~ l2 }.to_a
# => [["foo\n", "bar\n", "\n"], ["baz\n", "qux\n"]]
-[[m:Enumerable#chunk_while]] はブロックの戻り値が偽ではなく真の時に要
-素を分ける事を除いて同じ処理を行います。
+[[m:Enumerable#chunk_while]] はブロックの戻り値が偽ではなく真の時に要素を分ける事を除いて同じ処理を行います。
#@since 2.3.0
@see [[m:Enumerable#chunk_while]], [[m:Enumerable#chunk]]
@@ -1698,8 +1564,7 @@ nil、 :_separator はある要素を無視したい場合に用います。
自身を lazy な Enumerator に変換したものを返します。
-この Enumerator は、以下のメソッドが遅延評価を行う (つまり、配列ではな
-くEnumeratorを返す) ように再定義されています。
+この Enumerator は、以下のメソッドが遅延評価を行う (つまり、配列ではなくEnumeratorを返す) ように再定義されています。
* map/collect
* flat_map/collect_concat
@@ -1711,8 +1576,7 @@ nil、 :_separator はある要素を無視したい場合に用います。
* zip (※一貫性のため、ブロックを渡さないケースのみlazy)
* cycle (※一貫性のため、ブロックを渡さないケースのみlazy)
-以下はピタゴラス数 (a**2 + b**2 = c**2 を満たす自然数 a, b, c の組) を
-列挙するプログラムです。
+以下はピタゴラス数 (a**2 + b**2 = c**2 を満たす自然数 a, b, c の組) を列挙するプログラムです。
def pythagorean_triples
(1..Float::INFINITY).lazy.flat_map {|z|
@@ -1764,8 +1628,7 @@ init 引数を明示的に指名すると数値以外のオブジェクトにも
self から重複した値を取り除いた配列を返します。
-ブロックが与えられた場合、ブロックが返した値が重複した要素を取り除いた
-配列を返します。
+ブロックが与えられた場合、ブロックが返した値が重複した要素を取り除いた配列を返します。
#@samplecode 例
olympics = {
diff --git a/refm/api/src/_builtin/Enumerator b/refm/api/src/_builtin/Enumerator
index 8ced0523..15147aa4 100644
--- a/refm/api/src/_builtin/Enumerator
+++ b/refm/api/src/_builtin/Enumerator
@@ -2,23 +2,17 @@
include Enumerable
-each 以外のメソッドにも [[c:Enumerable]] の機能を提供するためのラッパークラスです。
-また、外部イテレータとしても使えます。
+each 以外のメソッドにも [[c:Enumerable]] の機能を提供するためのラッパークラスです。また、外部イテレータとしても使えます。
[[c:Enumerable]] モジュールは、 [[m:Module#include]] 先のクラスが持つ
-each メソッドを元に様々なメソッドを提供します。
-例えば Array#map は [[m:Array#each]] の繰り返しを元にして定義されます。
-Enumerator を介することにより [[m:String#each_byte]] のような
-異なる名前のイテレータについても each と同様に Enumerable の機能を利用できます。
+each メソッドを元に様々なメソッドを提供します。例えば Array#map は [[m:Array#each]] の繰り返しを元にして定義されます。
+Enumerator を介することにより [[m:String#each_byte]] のような異なる名前のイテレータについても each と同様に Enumerable の機能を利用できます。
Enumerator を生成するには [[m:Enumerator.new]]あるいは
-[[m:Object#to_enum]], [[m:Object#enum_for]] を利用します。また、一部の
-イテレータはブロックを渡さずに呼び出すと繰り返しを実行する代わりに
+[[m:Object#to_enum]], [[m:Object#enum_for]] を利用します。また、一部のイテレータはブロックを渡さずに呼び出すと繰り返しを実行する代わりに
enumerator を生成して返します。
-=== 注意
-外部イテレータとしての機能は [[c:Fiber]] を用いて実装されているため Fiber と同じ制限があります。
-例えば以下のようなスレッドをまたいだ呼び出しはエラーになります。
+=== 注意外部イテレータとしての機能は [[c:Fiber]] を用いて実装されているため Fiber と同じ制限があります。例えば以下のようなスレッドをまたいだ呼び出しはエラーになります。
a = nil
Thread.new do
@@ -34,8 +28,7 @@ enumerator を生成して返します。
--- new(obj, method = :each, *args) -> Enumerator
-オブジェクト obj について、 each の代わりに method という
-名前のメソッドを使って繰り返すオブジェクトを生成して返します。
+オブジェクト obj について、 each の代わりに method という名前のメソッドを使って繰り返すオブジェクトを生成して返します。
args を指定すると、 method の呼び出し時に渡されます。
@param obj イテレータメソッドのレシーバとなるオブジェクト
@@ -52,15 +45,12 @@ args を指定すると、 method の呼び出し時に渡されます。
--- new(size=nil){|y| ... } -> Enumerator
-Enumerator オブジェクトを生成して返します。与えられたブロックは Enumerator::Yielder オブジェクトを
-引数として実行されます。
+Enumerator オブジェクトを生成して返します。与えられたブロックは Enumerator::Yielder オブジェクトを引数として実行されます。
-生成された Enumerator オブジェクトに対して each を呼ぶと、この生成時に指定されたブロックを
-実行し、Yielder オブジェクトに対して << メソッドが呼ばれるたびに、
+生成された Enumerator オブジェクトに対して each を呼ぶと、この生成時に指定されたブロックを実行し、Yielder オブジェクトに対して << メソッドが呼ばれるたびに、
each に渡されたブロックが繰り返されます。
-new に渡されたブロックが終了した時点で each の繰り返しが終わります。
-このときのブロックの返り値が each の返り値となります。
+new に渡されたブロックが終了した時点で each の繰り返しが終わります。このときのブロックの返り値が each の返り値となります。
#@# http://d.hatena.ne.jp/nagachika/20121107/ruby_trunk_changes_37495_37541 参照
@param size 生成する Enumerator オブジェクトの要素数を指定します。
@@ -99,9 +89,7 @@ new に渡されたブロックが終了した時点で each の繰り返しが
--- each(*args) -> Enumerator
生成時のパラメータに従ってブロックを繰り返します。
-*args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。
-ブロック付きで呼び出された場合は、
-生成時に指定したイテレータの戻り値をそのまま返します。
+*args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。ブロック付きで呼び出された場合は、生成時に指定したイテレータの戻り値をそのまま返します。
@param args 末尾へ追加する引数
@@ -148,15 +136,10 @@ new に渡されたブロックが終了した時点で each の繰り返しが
--- next -> object
「次」のオブジェクトを返します。
-現在までの列挙状態に応じて「次」のオブジェクトを返し、列挙状態を1つ分進めます。
-列挙が既に最後へ到達している場合は、
-[[c:StopIteration]] 例外を発生します。このとき列挙状態は変化しません。
-つまりもう一度 next を呼ぶと再び例外が発生します。
+現在までの列挙状態に応じて「次」のオブジェクトを返し、列挙状態を1つ分進めます。列挙が既に最後へ到達している場合は、
+[[c:StopIteration]] 例外を発生します。このとき列挙状態は変化しません。つまりもう一度 next を呼ぶと再び例外が発生します。
-next メソッドによる外部列挙の状態は他のイテレータメソッドによる
-内部列挙には影響を与えません。
-ただし、 [[m:IO#each_line]] のようにおおもとの列挙メカニズムが副作用を
-伴っている場合には影響があり得ます。
+next メソッドによる外部列挙の状態は他のイテレータメソッドによる内部列挙には影響を与えません。ただし、 [[m:IO#each_line]] のようにおおもとの列挙メカニズムが副作用を伴っている場合には影響があり得ます。
@raise StopIteration 列挙状態が既に最後へ到達しているとき
@see [[m:Enumerator#rewind]]
@@ -241,10 +224,7 @@ Enumerator 内部の yield が返す値を設定します。
yield nil
を区別するために使えます。
-next メソッドによる外部列挙の状態は他のイテレータメソッドによる
-内部列挙には影響を与えません。
-ただし、 [[m:IO#each_line]] のようにおおもとの列挙メカニズムが副作用を
-伴っている場合には影響があり得ます。
+next メソッドによる外部列挙の状態は他のイテレータメソッドによる内部列挙には影響を与えません。ただし、 [[m:IO#each_line]] のようにおおもとの列挙メカニズムが副作用を伴っている場合には影響があり得ます。
# 例、 next と next_values の違いを
o = Object.new
@@ -281,8 +261,7 @@ next メソッドによる外部列挙の状態は他のイテレータメソッ
--- peek -> object
「次」のオブジェクトを返しますが、列挙状態を変化させません。
-[[m:Enumerator#next]] のように
-現在までの列挙状態に応じて「次」のオブジェクトを返しますが、
+[[m:Enumerator#next]] のように現在までの列挙状態に応じて「次」のオブジェクトを返しますが、
next と異なり列挙状態を変更しません。
列挙が既に最後へ到達している場合は、[[c:StopIteration]] 例外を発生します。
@@ -302,11 +281,9 @@ next と異なり列挙状態を変更しません。
@see [[m:Enumerator#next]], [[m:Enumerator#next_values]], [[m:Enumerator#peek_values]]
--- peek_values -> Array
-[[m:Enumerator#next_values]] のように「次」のオブジェクトを
-配列で返しますが、列挙状態を変化させません。
+[[m:Enumerator#next_values]] のように「次」のオブジェクトを配列で返しますが、列挙状態を変化させません。
-[[m:Enumerator#next]], [[m:Enumerator#next_values]] のように
-現在までの列挙状態に応じて「次」のオブジェクトを返しますが、
+[[m:Enumerator#next]], [[m:Enumerator#next_values]] のように現在までの列挙状態に応じて「次」のオブジェクトを返しますが、
next と異なり列挙状態を変更しません。
列挙が既に最後へ到達している場合は、[[c:StopIteration]] 例外を発生します。
@@ -342,8 +319,7 @@ next と異なり列挙状態を変更しません。
next メソッドによる外部列挙の状態を最初まで巻き戻します。 self を返します。
-内包するオブジェクトが rewind メソッドを持つとき(respond_to?(:rewind) に
-真を返すとき) は、その rewind メソッドを呼び出します。
+内包するオブジェクトが rewind メソッドを持つとき(respond_to?(:rewind) に真を返すとき) は、その rewind メソッドを呼び出します。
@see [[m:Enumerator#next]]
@@ -359,8 +335,7 @@ next メソッドによる外部列挙の状態を最初まで巻き戻します
--- with_index(offset = 0) {|(*args), idx| ... } -> object
--- with_index(offset = 0) -> Enumerator
-生成時のパラメータに従って、要素にインデックスを添えて繰り返します。
-インデックスは offset から始まります。
+生成時のパラメータに従って、要素にインデックスを添えて繰り返します。インデックスは offset から始まります。
ブロックを指定した場合の戻り値は生成時に指定したレシーバ自身です。
@@ -380,8 +355,7 @@ next メソッドによる外部列挙の状態を最初まで巻き戻します
# ["baz", 3]
-生成時のパラメータに従って、要素にインデックスを添えてブロックを繰り返します。
-インデックスは 0 から始まります。
+生成時のパラメータに従って、要素にインデックスを添えてブロックを繰り返します。インデックスは 0 から始まります。
[[m:Enumerator#with_index]] は offset 引数を受け取りますが、
each_with_index は受け取りません (引数はイテレータメソッドにそのまま渡されます)。
@@ -392,8 +366,7 @@ each_with_index は受け取りません (引数はイテレータメソッド
obj には任意のオブジェクトを渡すことができます。
-ブロックが渡されなかった場合は、上で説明した繰り返しを実行し、
-最後に obj を返す [[c:Enumerator]] を返します。
+ブロックが渡されなかった場合は、上で説明した繰り返しを実行し、最後に obj を返す [[c:Enumerator]] を返します。
=== 例
# 0,1,2 と呼びだす enumeratorを作る
@@ -419,9 +392,7 @@ obj には任意のオブジェクトを渡すことができます。
self の要素数を返します。
要素数が無限の場合は [[m:Float::INFINITY]] を返します。
-[[m:Enumerator.new]] に [[c:Proc]] オブジェクトを指定していた場合はその
-実行結果を返します。呼び出した時に要素数が不明であった場合は nil を返し
-ます。
+[[m:Enumerator.new]] に [[c:Proc]] オブジェクトを指定していた場合はその実行結果を返します。呼び出した時に要素数が不明であった場合は nil を返します。
(1..100).to_a.permutation(4).size # => 94109400
loop.size # => Float::INFINITY
diff --git a/refm/api/src/_builtin/Enumerator__Lazy b/refm/api/src/_builtin/Enumerator__Lazy
index 656da2bf..4c570391 100644
--- a/refm/api/src/_builtin/Enumerator__Lazy
+++ b/refm/api/src/_builtin/Enumerator__Lazy
@@ -51,10 +51,7 @@ Lazyから値を取り出すには、[[m:Enumerator::Lazy#force]] または
--- new(obj, size=nil) {|yielder, *values| ... } -> Enumerator::Lazy
-Lazy Enumerator を作成します。[[m:Enumerator::Lazy#force]] メソッドなどに
-よって列挙が実行されたとき、objのeachメソッドが実行され、値が一つずつ
-ブロックに渡されます。ブロックは、yielder を使って最終的に yield される値を
-指定できます。
+Lazy Enumerator を作成します。[[m:Enumerator::Lazy#force]] メソッドなどによって列挙が実行されたとき、objのeachメソッドが実行され、値が一つずつブロックに渡されます。ブロックは、yielder を使って最終的に yield される値を指定できます。
Enumerable#filter_map と、その遅延評価版を定義する例:
@@ -185,8 +182,7 @@ Enumerator::Lazy のインスタンスを返します。
[[m:Enumerable#zip]] と同じですが、配列ではなくEnumerator::Lazy を返します。
-ただし一貫性のため、ブロック付きで呼び出した場合は Enumerable#zip と
-同じ挙動になります。
+ただし一貫性のため、ブロック付きで呼び出した場合は Enumerable#zip と同じ挙動になります。
例:
1.step.lazy.zip(('a'..'z').cycle)
@@ -201,8 +197,7 @@ Enumerator::Lazy のインスタンスを返します。
[[m:Enumerable#take]] と同じですが、配列ではなくEnumerator::Lazy を返します。
-n が大きな数 (100000とか) の場合に備えて再定義されています。
-配列が必要な場合は [[m:Enumerable#first]] を使って下さい。
+n が大きな数 (100000とか) の場合に備えて再定義されています。配列が必要な場合は [[m:Enumerable#first]] を使って下さい。
@param n 要素数を指定します。
@@ -349,9 +344,7 @@ self を返します。
[[m:Object#to_enum]] と同じですが、Enumerator::Lazy を返します。
to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
-Enumerator を返す」ようなメソッドを定義するときによく使われます。
-このときに lazy 性が正しく引き継がれるように、Lazy#to_enum は
-素のEnumerator ではなく Enumerator::Lazy を返すようになっています。
+Enumerator を返す」ようなメソッドを定義するときによく使われます。このときに lazy 性が正しく引き継がれるように、Lazy#to_enum は素のEnumerator ではなく Enumerator::Lazy を返すようになっています。
例:
diff --git a/refm/api/src/_builtin/Exception b/refm/api/src/_builtin/Exception
index 9e101ef4..a78aeb31 100644
--- a/refm/api/src/_builtin/Exception
+++ b/refm/api/src/_builtin/Exception
@@ -27,8 +27,7 @@
--- exception -> self
--- exception(error_message) -> Exception
-引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー
-を生成し [[m:Exception#message]] 属性を error_message にして返します。
+引数を指定しない場合は self を返します。引数を指定した場合 自身のコピーを生成し [[m:Exception#message]] 属性を error_message にして返します。
[[m:Kernel.#raise]] は、実質的に、例外オブジェクトの exception
メソッドの呼び出しです。
@@ -74,8 +73,7 @@
バックトレース情報を返します。[[m:Exception#backtrace]]に似ていますが、
[[c:Thread::Backtrace::Location]] の配列を返す点が異なります。
-現状では [[m:Exception#set_backtrace]] によって戻り値が変化する事はあり
-ません。
+現状では [[m:Exception#set_backtrace]] によって戻り値が変化する事はありません。
例: test.rb
require "date"
@@ -115,8 +113,7 @@
--- set_backtrace(errinfo) -> nil | String | [String]
-バックトレース情報に errinfo を設定し、設定されたバックトレース
-情報を返します。
+バックトレース情報に errinfo を設定し、設定されたバックトレース情報を返します。
@param errinfo nil、[[c:String]] あるいは [[c:String]] の配列のいずれかを指定します。
@@ -151,8 +148,7 @@ self のクラス名と message を文字列にして返します。
#@since 2.0.0
自身と指定された other のクラスが同じであり、
#@end
-message と backtrace が == メソッドで比較して
-等しい場合に true を返します。そうでない場合に false を返します。
+message と backtrace が == メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。
@param other 自身と比較したいオブジェクトを指定します。
#@since 2.0.0
@@ -175,9 +171,7 @@ message と backtrace が == メソッドで比較して
#@since 2.1.0
--- cause -> Exception | nil
-self の前の例外(self が rescue 節や ensure 節の中で発生した例外の場合、
-その前に発生していた元々の例外)を返します。存在しない場合は nil を返し
-ます。
+self の前の例外(self が rescue 節や ensure 節の中で発生した例外の場合、その前に発生していた元々の例外)を返します。存在しない場合は nil を返します。
例:
begin
@@ -198,12 +192,9 @@ self の前の例外(self が rescue 節や ensure 節の中で発生した例
--- full_message -> String
例外の整形された文字列を返します。
-返される文字列は Ruby が捕捉されなかった例外を標準エラー出力に出力するときと
-同じ形式です。
-そのため、$stderr が変更されておらず、$stderr.tty? が真の場合はエスケープシーケンスによる文字装飾がついています。
+返される文字列は Ruby が捕捉されなかった例外を標準エラー出力に出力するときと同じ形式です。そのため、$stderr が変更されておらず、$stderr.tty? が真の場合はエスケープシーケンスによる文字装飾がついています。
-[注意] このメソッドは実験的な機能として提供されています。仕様が変更にな
-る可能性があります。
+[注意] このメソッドは実験的な機能として提供されています。仕様が変更になる可能性があります。
#@samplecode 例
begin
diff --git a/refm/api/src/_builtin/FalseClass b/refm/api/src/_builtin/FalseClass
index d1992698..d4f8f249 100644
--- a/refm/api/src/_builtin/FalseClass
+++ b/refm/api/src/_builtin/FalseClass
@@ -2,8 +2,7 @@
false のクラス。
false は FalseClass クラスの唯一のインスタンスです。
-false は nil オブジェクトとともに偽を表し、
-その他の全てのオブジェクトは真です。
+false は nil オブジェクトとともに偽を表し、その他の全てのオブジェクトは真です。
== Instance Methods
diff --git a/refm/api/src/_builtin/Fiber b/refm/api/src/_builtin/Fiber
index 49de4c72..375cbb11 100644
--- a/refm/api/src/_builtin/Fiber
+++ b/refm/api/src/_builtin/Fiber
@@ -4,27 +4,16 @@ Fiber に関するエラーが起きると発生します。
= class Fiber
-ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。
-他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。
+ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。
[[c:Thread]] と違いユーザレベルスレッドとして実装されています。
-[[c:Thread]] クラスが表すスレッドと違い、明示的に指定しない限り
-ファイバーのコンテキストは切り替わりません。
-またファイバーは親子関係を持ちます。Fiber#resume を呼んだファイバーが親になり
-呼ばれたファイバーが子になります。親子関係を壊すような遷移(例えば
-自分の親の親のファイバーへ切り替えるような処理)はできません。
-例外 FiberError が発生します。
-できることは
+[[c:Thread]] クラスが表すスレッドと違い、明示的に指定しない限りファイバーのコンテキストは切り替わりません。またファイバーは親子関係を持ちます。Fiber#resume を呼んだファイバーが親になり呼ばれたファイバーが子になります。親子関係を壊すような遷移(例えば自分の親の親のファイバーへ切り替えるような処理)はできません。例外 FiberError が発生します。できることは
* Fiber#resume により子へコンテキストを切り替える
- * Fiber.yield により親へコンテキストを切り替える
-の二通りです。この親子関係は一時的なものであり
-親ファイバーへコンテキストを切り替えた時点で解消されます。
+ * Fiber.yield により親へコンテキストを切り替えるの二通りです。この親子関係は一時的なものであり親ファイバーへコンテキストを切り替えた時点で解消されます。
ファイバーが終了するとその親にコンテキストが切り替わります。
-なお標準添付ライブラリ [[lib:fiber]] を require することにより、
-コンテキストの切り替えに制限のない [[m:Fiber#transfer]] が使えるようになります。
-任意のファイバーにコンテキストを切り替えることができます。
+なお標準添付ライブラリ [[lib:fiber]] を require することにより、コンテキストの切り替えに制限のない [[m:Fiber#transfer]] が使えるようになります。任意のファイバーにコンテキストを切り替えることができます。
=== 例外
@@ -43,11 +32,8 @@ Fiber に関するエラーが起きると発生します。
=== ショートチュートリアル
-ファイバーは処理のあるポイントで他のルーチンにコンテキストを切り替え、またそのポイントから再開する
-という目的のために使います。
-[[m:Fiber.new]] により与えられたブロックとともにファイバーを生成します。
-生成したファイバーに対して [[m:Fiber#resume]] を呼ぶことによりコンテキストを切り替えます。
-子ファイバーのブロック中で [[m:Fiber.yield]] を呼ぶと親にコンテキストを切り替えます。
+ファイバーは処理のあるポイントで他のルーチンにコンテキストを切り替え、またそのポイントから再開するという目的のために使います。
+[[m:Fiber.new]] により与えられたブロックとともにファイバーを生成します。生成したファイバーに対して [[m:Fiber#resume]] を呼ぶことによりコンテキストを切り替えます。子ファイバーのブロック中で [[m:Fiber.yield]] を呼ぶと親にコンテキストを切り替えます。
Fiber.yield の引数が、親での Fiber#resume の返り値になります。
f = Fiber.new do
n = 0
@@ -67,8 +53,7 @@ Fiber.yield の引数が、親での Fiber#resume の返り値になります。
3
4
-以下は内部イテレータを外部イテレータに変換する例です。
-実際 [[c:Enumerator]] は Fiber を用いて実装されています。
+以下は内部イテレータを外部イテレータに変換する例です。実際 [[c:Enumerator]] は Fiber を用いて実装されています。
def enum2gen(enum)
Fiber.new do
@@ -86,8 +71,7 @@ Fiber.yield の引数が、親での Fiber#resume の返り値になります。
=== 注意
-Thread クラスが表すスレッド間をまたがるファイバーの切り替えはできません。
-例外 FiberError が発生します。
+Thread クラスが表すスレッド間をまたがるファイバーの切り替えはできません。例外 FiberError が発生します。
f = nil
Thread.new do
@@ -101,11 +85,9 @@ Thread クラスが表すスレッド間をまたがるファイバーの切り
--- new{|obj| ... } -> Fiber
-与えられたブロックとともにファイバーを生成して返します。
-ブロックは [[m:Fiber#resume]] に与えられた引数をその引数として実行されます。
+与えられたブロックとともにファイバーを生成して返します。ブロックは [[m:Fiber#resume]] に与えられた引数をその引数として実行されます。
-ブロックが終了した場合は親にコンテキストが切り替わります。
-その時ブロックの評価値が返されます。
+ブロックが終了した場合は親にコンテキストが切り替わります。その時ブロックの評価値が返されます。
a = nil
f = Fiber.new do |obj|
@@ -143,13 +125,10 @@ Thread クラスが表すスレッド間をまたがるファイバーの切り
== Instance Methods
--- resume(*arg = nil) -> object
-自身が表すファイバーへコンテキストを切り替えます。
-自身は resume を呼んだファイバーの子となります。
+自身が表すファイバーへコンテキストを切り替えます。自身は resume を呼んだファイバーの子となります。
#@since 2.0.0
-#@# #5526 参照。
-ただし、[[m:Fiber#transfer]] を呼び出した後に resume を呼び出す事はでき
-ません。
+#@# #5526 参照。ただし、[[m:Fiber#transfer]] を呼び出した後に resume を呼び出す事はできません。
#@end
@param arg self が表すファイバーに渡したいオブジェクトを指定します。
diff --git a/refm/api/src/_builtin/File b/refm/api/src/_builtin/File
index 1c19536d..f5b4b219 100644
--- a/refm/api/src/_builtin/File
+++ b/refm/api/src/_builtin/File
@@ -7,8 +7,7 @@ include File::Constants
通常 [[m:Kernel.#open]] または [[m:File.open]] を使って生成します。
#@since 1.8.0
-[[c:IO]] クラスがインクルードしている [[c:File::Constants]] は File クラスに関係する定数を
-格納したモジュールです。
+[[c:IO]] クラスがインクルードしている [[c:File::Constants]] は File クラスに関係する定数を格納したモジュールです。
#@end
また [[c:File::Stat]] は stat 構造体( [[man:stat(2)]] 参照)を表すクラスです。
@@ -27,8 +26,7 @@ include File::Constants
--- ctime(filename) -> Time
-状態が最後に変更された時刻を返します。
-状態の変更とは chmod などによるものです。
+状態が最後に変更された時刻を返します。状態の変更とは chmod などによるものです。
@param filename ファイル名を表す文字列か IO オブジェクトを指定します。
@@ -68,9 +66,7 @@ File.ctime("testfile") # => 2017-11-30 22:42:12 +0900
--- basename(filename, suffix = "") -> String
-filename の一番後ろのスラッシュに続く要素を返します。もし、
-引数 suffix が与えられて、かつそれが filename の末尾に
-一致するなら、それを取り除いたものを返します。
+filename の一番後ろのスラッシュに続く要素を返します。もし、引数 suffix が与えられて、かつそれが filename の末尾に一致するなら、それを取り除いたものを返します。
p File.basename("ruby/ruby.c") #=> "ruby.c"
p File.basename("ruby/ruby.c", ".c") #=> "ruby"
@@ -94,8 +90,7 @@ File.basename の動作は [[man:basename(3)]]
--- chmod(mode, *filename) -> Integer
-ファイルのモードを mode に変更します。モードを変更したファイ
-ルの数を返します。
+ファイルのモードを mode に変更します。モードを変更したファイルの数を返します。
@param filename ファイル名を表す文字列を指定します。
@@ -105,8 +100,7 @@ File.basename の動作は [[man:basename(3)]]
--- lchmod(mode, *filename) -> Integer
-[[m:File.chmod]] と同様ですが、シンボリックリンクに関してリンクそのものの
-モードを変更します。
+[[m:File.chmod]] と同様ですが、シンボリックリンクに関してリンクそのもののモードを変更します。
@param filename ファイル名を表す文字列を指定します。
@@ -127,9 +121,7 @@ File.lstat("testlink").mode.to_s(8) # => "120744"
--- chown(owner, group, *filename) -> Integer
-ファイルのオーナーとグループを変更します。スーパーユーザだけがファ
-イルのオーナーとグループを変更できます。変更を行ったファイルの数を
-返します。
+ファイルのオーナーとグループを変更します。スーパーユーザだけがファイルのオーナーとグループを変更できます。変更を行ったファイルの数を返します。
@param filename ファイル名を表す文字列を指定します。
@@ -146,9 +138,7 @@ File.lstat("testlink").mode.to_s(8) # => "120744"
--- lchown(owner, group, *filename) -> Integer
-[[m:File#chown]] と同様ですが、
-シンボリックリンクに関してリンクそのもののオーナー、
-グループを変更します。
+[[m:File#chown]] と同様ですが、シンボリックリンクに関してリンクそのもののオーナー、グループを変更します。
@param filename ファイル名を表す文字列を指定します。
@@ -171,8 +161,7 @@ File.lstat("testlink").uid # => 0
--- delete(*filename) -> Integer
--- unlink(*filename) -> Integer
-ファイルを削除します。削除したファイルの数を返します。
-削除に失敗した場合は例外 [[c:Errno::EXXX]] が発生します。
+ファイルを削除します。削除したファイルの数を返します。削除に失敗した場合は例外 [[c:Errno::EXXX]] が発生します。
このメソッドは通常ファイルの削除用で、ディレクトリの削除には
[[m:Dir.rmdir]] を使います。
@@ -194,8 +183,7 @@ File.lstat("testlink").uid # => 0
--- dirname(filename) -> String
-filename の一番後ろのスラッシュより前を文
-字列として返します。スラッシュを含まないファイル名に対しては
+filename の一番後ろのスラッシュより前を文字列として返します。スラッシュを含まないファイル名に対しては
"."(カレントディレクトリ)を返します。
p File.dirname("dir/file.ext") # => "dir"
@@ -240,8 +228,7 @@ file_name を絶対パスに変換した文字列を返します。
相対パスの場合はカレントディレクトリを基準とします。
dir_string を渡した場合はそのディレクトリを基準とします。
-[[m:File.expand_path]] と異なり、 file_name 先頭が "~" である場合
-それは展開されません。普通のディレクトリ名として処理されます。
+[[m:File.expand_path]] と異なり、 file_name 先頭が "~" である場合それは展開されません。普通のディレクトリ名として処理されます。
p Dir.getwd #=> "/home/matz/work/bar"
p ENV["HOME"] #=> "/home/matz"
@@ -256,10 +243,8 @@ dir_string を渡した場合はそのディレクトリを基準とします。
--- extname(filename) -> String
-ファイル名 filename の拡張子部分(最後の "." に続く文字列)を
-返します。ディレクトリ名に含まれる "." や、ファイル名先頭の "."
-は拡張子の一部としては見なされません。filename に拡張子が含
-まれない場合は空文字列を返します。
+ファイル名 filename の拡張子部分(最後の "." に続く文字列)を返します。ディレクトリ名に含まれる "." や、ファイル名先頭の "."
+は拡張子の一部としては見なされません。filename に拡張子が含まれない場合は空文字列を返します。
p File.extname("foo/foo.txt") # => ".txt"
p File.extname("foo/foo.tar.gz") # => ".gz"
@@ -301,10 +286,8 @@ path が pattern にマッチすれば真を返します。そうでない場合
@param flags パターンマッチの動作を以下で述べる定数の論理和で指定します。
flags のデフォルト値は0(フラグ指定なし)です。
-引数 flags に指定できる定数は以下のとおりです。
-これらの定数は [[c:File::Constants]] で定義されていますが、
-[[c:File]] クラスの親クラスの IO が [[c:File::Constants]] をインクルードしているので、
-これらの定数は File::FNM_NOESCAPE などとして参照可能です。
+引数 flags に指定できる定数は以下のとおりです。これらの定数は [[c:File::Constants]] で定義されていますが、
+[[c:File]] クラスの親クラスの IO が [[c:File::Constants]] をインクルードしているので、これらの定数は File::FNM_NOESCAPE などとして参照可能です。
: FNM_NOESCAPE
エスケープ文字 `\' を普通の文字とみなします。
@@ -370,8 +353,7 @@ path が pattern にマッチすれば真を返します。そうでない場合
ファイルのタイプを表す文字列を返します。
-文字列は以下のうちのいずれかです。File.lstat(filename).ftype と同じです。
-シンボリックリンクに対して "link" を返します。
+文字列は以下のうちのいずれかです。File.lstat(filename).ftype と同じです。シンボリックリンクに対して "link" を返します。
* "file"
* "directory"
@@ -403,9 +385,7 @@ File::SEPARATORを間に入れて文字列を連結します。
--- link(old, new) -> 0
-old を指す new という名前のハードリンクを
-生成します。old はすでに存在している必要があります。
-ハードリンクに成功した場合は 0 を返します。
+old を指す new という名前のハードリンクを生成します。old はすでに存在している必要があります。ハードリンクに成功した場合は 0 を返します。
失敗した場合は例外 [[c:Errno::EXXX]] が発生します。
@@ -424,14 +404,10 @@ old を指す new という名前のハードリンクを
--- open(path, mode = "r", perm = 0666) -> File
--- open(path, mode = "r", perm = 0666) {|file| ... } -> object
-path で指定されるファイルをオープンし、[[c:File]] オブジェクトを生成して
-返します。
+path で指定されるファイルをオープンし、[[c:File]] オブジェクトを生成して返します。
path が整数の場合はファイルディスクリプタとして扱い、それに対応する
-[[c:File]] オブジェクトを生成して返します。[[m:IO.open]] と同じです。
-ブロックを指定して呼び出した場合は、File オブジェクトを引数として
-ブロックを実行します。ブロックの実行が終了すると、ファイルは自動的に
-クローズされます。ブロックの実行結果を返します。
+[[c:File]] オブジェクトを生成して返します。[[m:IO.open]] と同じです。ブロックを指定して呼び出した場合は、File オブジェクトを引数としてブロックを実行します。ブロックの実行が終了すると、ファイルは自動的にクローズされます。ブロックの実行結果を返します。
@param path ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。
@@ -530,9 +506,7 @@ pathname の最後のコンポーネントは存在していなくても例外
--- rename(from, to) -> 0
-ファイルの名前を変更します。ディレクトリが異なる場合には移動も行い
-ます。[[man:rename(2)]] を参照してください。移動先のファ
-イルが存在する時には上書きされます。
+ファイルの名前を変更します。ディレクトリが異なる場合には移動も行います。[[man:rename(2)]] を参照してください。移動先のファイルが存在する時には上書きされます。
ファイルの移動に成功した場合 0 を返します。失敗した場合は例外
[[c:Errno::EXXX]] が発生します。
@@ -554,8 +528,7 @@ pathname の最後のコンポーネントは存在していなくても例外
--- split(pathname) -> [String]
-pathname を dirname とbasename に分割して、2 要
-素の配列を返します。
+pathname を dirname とbasename に分割して、2 要素の配列を返します。
[File.dirname(pathname), File.basename(pathname)]
@@ -565,8 +538,7 @@ pathname を dirname とbasename に分割して、2 要
--- stat(filename) -> File::Stat
-filename の情報を含む [[c:File::Stat]] オブジェクトを生成し
-て返します。
+filename の情報を含む [[c:File::Stat]] オブジェクトを生成して返します。
@param filename ファイル名を表す文字列を指定します。
@@ -580,8 +552,7 @@ filename の情報を含む [[c:File::Stat]] オブジェクトを生成し
--- lstat(filename) -> File::Stat
-[[m:File.stat]]と同様ですが、シンボリックリンクに関してリンクそのものの
-情報を File::Stat として返します。[[man:lstat(2)]] を実装していないシステムでは、File.stat と同じです。
+[[m:File.stat]]と同様ですが、シンボリックリンクに関してリンクそのものの情報を File::Stat として返します。[[man:lstat(2)]] を実装していないシステムでは、File.stat と同じです。
@param filename ファイル名を表す文字列を指定します。
@@ -598,8 +569,7 @@ filename の情報を含む [[c:File::Stat]] オブジェクトを生成し
old への new という名前のシンボリックリンクを生成します。
-シンボリックリンクの作成に成功すれば 0 を返します。失敗した場合は
-例外 [[c:Errno::EXXX]] が発生します。
+シンボリックリンクの作成に成功すれば 0 を返します。失敗した場合は例外 [[c:Errno::EXXX]] が発生します。
@param old ファイル名を表す文字列を指定します。
@@ -612,8 +582,7 @@ old への new という名前のシンボリックリンクを生成します
--- truncate(path, length) -> 0
-path で指定されたファイルのサイズを最大 length バイト
-にします。
+path で指定されたファイルのサイズを最大 length バイトにします。
サイズの変更に成功すれば 0 を返します。失敗した場合は例外
[[c:Errno::EXXX]] が発生します。
@@ -652,8 +621,7 @@ File.umask # => 6
ファイルの最終アクセス時刻と更新時刻を変更します。
#@since 2.5.0
-シンボリックリンクに対しては [[m:File.lutime]] と違って、
-シンボリックのリンク先を変更します。
+シンボリックリンクに対しては [[m:File.lutime]] と違って、シンボリックのリンク先を変更します。
#@end
@param filename ファイル名を表す文字列を指定します。
@@ -683,9 +651,7 @@ File.umask # => 6
--- lutime(atime, mtime, *filename) -> Integer
-ファイルの最終アクセス時刻と更新時刻を変更します。
-シンボリックリンクに対しては [[m:File.utime]] と違って、
-シンボリックそのものを変更します。
+ファイルの最終アクセス時刻と更新時刻を変更します。シンボリックリンクに対しては [[m:File.utime]] と違って、シンボリックそのものを変更します。
@param filename ファイル名を表す文字列を指定します。
@@ -902,8 +868,7 @@ File.umask # => 6
#@since 1.9.1
--- world_readable?(path) -> Integer | nil
-path が全てのユーザから読めるならばそのファイルのパーミッションを表す
-整数を返します。そうでない場合は nil を返します。
+path が全てのユーザから読めるならばそのファイルのパーミッションを表す整数を返します。そうでない場合は nil を返します。
整数の意味はプラットフォームに依存します。
@@ -916,8 +881,7 @@ path が全てのユーザから読めるならばそのファイルのパーミ
--- world_writable?(path) -> bool
-path が全てのユーザから書き込めるならば、そのファイルのパーミッションを表す
-整数を返します。そうでない場合は nil を返します。
+path が全てのユーザから書き込めるならば、そのファイルのパーミッションを表す整数を返します。そうでない場合は nil を返します。
整数の意味はプラットフォームに依存します。
@@ -1043,8 +1007,7 @@ File.open("testfile") { |f| f.mtime } # => 2017-12-21 22:58:17 +0900
ファイルのモードを指定された mode に変更します。
-モードの変更に成功した場合は 0 を返します。失敗した場合は例外 [[c:Errno::EXXX]] が発生し
-ます。
+モードの変更に成功した場合は 0 を返します。失敗した場合は例外 [[c:Errno::EXXX]] が発生します。
@param mode [[man:chmod(2)]] と同様に整数で指定します。
@@ -1061,9 +1024,7 @@ File.open("testfile") { |f| f.mtime } # => 2017-12-21 22:58:17 +0900
ファイルのオーナーとグループを変更します。
-適切な権限があればファイルのオーナーとグループを変更できます。
-所有者の変更に成功した場合は 0 を返します。変更に失敗した場合は
-例外 [[c:Errno::EXXX]] が発生します。
+適切な権限があればファイルのオーナーとグループを変更できます。所有者の変更に成功した場合は 0 を返します。変更に失敗した場合は例外 [[c:Errno::EXXX]] が発生します。
@param owner [[man:chown(2)]] と同様に数値で指定します。nil または -1 を指定することで、オーナーを現在のままにすることができます。
@@ -1082,10 +1043,8 @@ File.open("testfile") { |f| f.mtime } # => 2017-12-21 22:58:17 +0900
ファイルをロックします。
-ロックを取得するまでブロックされます。
-ロックの取得に成功した場合は 0 を返します。
-File::LOCK_NB (ノンブロッキング) を指定すると、本来ならブロックされる場合に
-ブロックされずに false を返すようになります。
+ロックを取得するまでブロックされます。ロックの取得に成功した場合は 0 を返します。
+File::LOCK_NB (ノンブロッキング) を指定すると、本来ならブロックされる場合にブロックされずに false を返すようになります。
@param operation ロックに対する操作の種類を示す定数を指定します。
どのような定数が利用可能かは以下を参照して下さい。
@@ -1095,8 +1054,7 @@ File::LOCK_NB (ノンブロッキング) を指定すると、本来ならブロ
@raise Errno::EXXX operation に不正な整数を与えた場合などに発生します。
引数 operation に有効な定数は以下の通りです。定数は [[c:File::Constants]] で定義されていますが、
-[[c:File]] クラスの親クラスの IO が [[c:File::Constants]] をインクルードしているので、
-これらの定数は File::LOCK_SH などとして参照可能です。
+[[c:File]] クラスの親クラスの IO が [[c:File::Constants]] をインクルードしているので、これらの定数は File::LOCK_SH などとして参照可能です。
: LOCK_SH
共有ロック。複数のプロセスが同時にロックを共有できます。
@@ -1184,13 +1142,11 @@ flock は false を返します。
オープン時に使用したパスを文字列で返します。
#@since 2.5.0
-パスは self に対応するファイルを指しているとは限りません。
-たとえば、ファイルが移動されていたり、削除されていたりする場合です。
+パスは self に対応するファイルを指しているとは限りません。たとえば、ファイルが移動されていたり、削除されていたりする場合です。
@raise IOError TMPFILE [[m:File::Constants::TMPFILE]]オプション付きで作成されている場合に発生します。
#@else
-パスは self に対応するファイルを指しているとは限りません。
-たとえば、ファイルが移動されていたり、削除されていたり、
+パスは self に対応するファイルを指しているとは限りません。たとえば、ファイルが移動されていたり、削除されていたり、
[[m:File::Constants::TMPFILE]]オプション付きで作成されていたりする場合です。
#@end
@@ -1204,8 +1160,7 @@ flock は false を返します。
--- lstat -> File::Stat
-ファイルの状態を含む [[c:File::Stat]] オブジェクトを生成して返します。
-シンボリックリンクに関してリンクそのものの情報を返します。
+ファイルの状態を含む [[c:File::Stat]] オブジェクトを生成して返します。シンボリックリンクに関してリンクそのものの情報を返します。
[[man:lstat(2)]] を実装していないシステムでは、[[m:IO#stat]]と同じです。
@raise Errno::EXXX 失敗した場合に発生します。
@@ -1244,18 +1199,14 @@ end
--- ALT_SEPARATOR -> "\\" | nil
-システムのファイルパスのセパレータが SEPARATOR と異なる場合
-に設定されます。MS-DOS などでは "\\" です。UNIX や Cygwin などでは nil です。
+システムのファイルパスのセパレータが SEPARATOR と異なる場合に設定されます。MS-DOS などでは "\\" です。UNIX や Cygwin などでは nil です。
--- PATH_SEPARATOR -> ";" | ":"
-PATH 環境変数の要素のセパレータです。UNIX では ":" MS-DOS な
-どでは ";" です。
+PATH 環境変数の要素のセパレータです。UNIX では ":" MS-DOS などでは ";" です。
--- SEPARATOR -> "/"
--- Separator -> "/"
-ファイルパスのセパレータです。ファイルを扱うメソッドにパス名を渡す
-場合などスクリプト内のパス名は環境によらずこのセパレータで統一され
-ます。値は "/" です。
+ファイルパスのセパレータです。ファイルを扱うメソッドにパス名を渡す場合などスクリプト内のパス名は環境によらずこのセパレータで統一されます。値は "/" です。
diff --git a/refm/api/src/_builtin/FileTest b/refm/api/src/_builtin/FileTest
index ae648ee0..8efcb68b 100644
--- a/refm/api/src/_builtin/FileTest
+++ b/refm/api/src/_builtin/FileTest
@@ -4,9 +4,7 @@
=== 注意
-FileTest で定義された各メソッドは、システムコールに失敗しても例外を発生させません。
-真を返した時のみ、返り値は意味をもちます。
-例えば、
+FileTest で定義された各メソッドは、システムコールに失敗しても例外を発生させません。真を返した時のみ、返り値は意味をもちます。例えば、
File.exist?('/root/.bashrc')
が false を返しても、それはファイルが存在しないことを保証しません。
@@ -15,8 +13,7 @@ FileTest で定義された各メソッドは、システムコールに失敗
--- blockdev?(file) -> bool
-ファイルがブロックスペシャルファイルである時に真を返します。
-そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
+ファイルがブロックスペシャルファイルである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@@ -48,8 +45,7 @@ FileTest で定義された各メソッドは、システムコールに失敗
--- executable?(file) -> bool
-ファイルがカレントプロセスにより実行できる時に真を返しま
-す。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
+ファイルがカレントプロセスにより実行できる時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
@@ -96,8 +92,7 @@ FileTest.executable_real?("empty.txt") # => false
--- grpowned?(file) -> bool
-ファイルのグループ ID がカレントプロセスの実効グループ ID と等しい時に真を返
-します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
+ファイルのグループ ID がカレントプロセスの実効グループ ID と等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@@ -144,8 +139,7 @@ FileTest.grpowned?("testfile") # => false
#@since 1.8.4
--- identical?(file1, file2) -> bool
-file1 と file2 が同じファイルを指している時に真を返します。
-そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
+file1 と file2 が同じファイルを指している時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ruby 1.8.3 以前では[[m:Kernel.#test]](?-, file1, file2)を使ってください。
@@ -227,8 +221,7 @@ FileTest.readable?("testfile") # => false
--- readable_real?(file) -> bool
-ファイルがカレントプロセスの実ユーザか実グループによって読み込み可能な時に真を
-返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
+ファイルがカレントプロセスの実ユーザか実グループによって読み込み可能な時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
@@ -238,8 +231,7 @@ FileTest.readable?("testfile") # => false
--- setuid?(file) -> bool
-ファイルが [[man:setuid(2)]] されている時に真を返
-します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
+ファイルが [[man:setuid(2)]] されている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
@@ -256,8 +248,7 @@ FileTest.setuid?("testfile") # => false
--- setgid?(file) -> bool
-ファイルが [[man:setgid(2)]] されている時に真を返
-します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
+ファイルが [[man:setgid(2)]] されている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
@@ -287,8 +278,7 @@ FileTest.setgid?("testfile") # => false
--- size?(file) -> Integer | nil
-ファイルのサイズを返します。ファイルが存在しない時や
-ファイルのサイズが0の時には nil を返します。
+ファイルのサイズを返します。ファイルが存在しない時やファイルのサイズが0の時には nil を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@@ -305,8 +295,7 @@ FileTest.size?("testfile") # => nil
--- sticky?(file) -> bool
-ファイルの sticky ビット([[man:chmod(2)]] 参照)が
-立っている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
+ファイルの sticky ビット([[man:chmod(2)]] 参照)が立っている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
@@ -348,8 +337,7 @@ FileTest.writable?("testfile") # => false
--- writable_real?(file) -> bool
-ファイルがカレントプロセスの実ユーザか実グループによって書き込み可能である時に真
-を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
+ファイルがカレントプロセスの実ユーザか実グループによって書き込み可能である時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
@@ -362,8 +350,7 @@ FileTest.writable?("testfile") # => false
--- empty?(file) -> bool
#@end
-ファイルが存在して、そのサイズが 0 である時に真を返します。
-そうでない場合、あるいはシステムコールに失敗した場合には false を返します。
+ファイルが存在して、そのサイズが 0 である時に真を返します。そうでない場合、あるいはシステムコールに失敗した場合には false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@@ -381,8 +368,7 @@ FileTest.zero?("nonzero.txt") # => false
#@since 1.9.1
--- world_readable?(path) -> Integer | nil
-path が全てのユーザから読めるならばそのファイルのパーミッションを表す
-整数を返します。そうでない場合は nil を返します。
+path が全てのユーザから読めるならばそのファイルのパーミッションを表す整数を返します。そうでない場合は nil を返します。
整数の意味はプラットフォームに依存します。
@@ -393,8 +379,7 @@ path が全てのユーザから読めるならばそのファイルのパーミ
--- world_writable?(path) -> bool
-path が全てのユーザから書き込めるならば、そのファイルのパーミッションを表す
-整数を返します。そうでない場合は nil を返します。
+path が全てのユーザから書き込めるならば、そのファイルのパーミッションを表す整数を返します。そうでない場合は nil を返します。
整数の意味はプラットフォームに依存します。
diff --git a/refm/api/src/_builtin/File__Constants b/refm/api/src/_builtin/File__Constants
index f7595328..62571efd 100644
--- a/refm/api/src/_builtin/File__Constants
+++ b/refm/api/src/_builtin/File__Constants
@@ -2,12 +2,10 @@
[[c:File]] に関る定数を集めたモジュール。
-[[c:File]] はこのモジュールをインクルードしているので、
-以下に挙げる定数は [[c:File]] の定数のように扱うことができます。
+[[c:File]] はこのモジュールをインクルードしているので、以下に挙げる定数は [[c:File]] の定数のように扱うことができます。
#@since 1.8.0
-Ruby 1.8 以降では、[[c:File]] ではなく、[[c:IO]] でインクルード
-されるようになりました。
+Ruby 1.8 以降では、[[c:File]] ではなく、[[c:IO]] でインクルードされるようになりました。
#@end
#@# 情報源: RUBY/ext/fcntl/fcntl.c
@@ -98,8 +96,7 @@ open(2) で O_DSYNC が指定できる場合に使えます。
[[m:File.open]]で使用します。
--- NOFOLLOW -> Integer
-ファイルがシンボリックリンクであった場合に
-例外を発生させます。
+ファイルがシンボリックリンクであった場合に例外を発生させます。
open(2) で O_NOFOLLOW が指定できる場合に使えます。
[[m:File.open]]で使用します。
@@ -116,19 +113,15 @@ open(2) で O_RSYNC が指定できる場合に使えます。
open(2) で O_ATIME が指定できる場合に使えます。
[[m:File.open]]で使用します。
-atime が更新されないのは確実ではないということに注意してください。
-これは性能のためのオプションです。
+atime が更新されないのは確実ではないということに注意してください。これは性能のためのオプションです。
#@end
#@since 1.9.3
--- DIRECT -> Integer
このファイルに対する I/O のキャッシュの効果を最小化しようとする。
-このフラグを使うと、一般的に性能が低下する。 しかしアプリケーションが独自に
-キャッシングを行っているような 特別な場合には役に立つ。 ファイルの I/O
-はユーザー空間バッファに対して直接行われる。 [[m:File::Constants::DIRECT]] フラグ自身はデー
-タを同期で転送しようとはするが、 [[m:File::Constants::SYNC]] のようにデータと必要なメタデー
-タの転送が保証されるわけではない。 同期 I/O を保証するためには、
+このフラグを使うと、一般的に性能が低下する。 しかしアプリケーションが独自にキャッシングを行っているような 特別な場合には役に立つ。 ファイルの I/O
+はユーザー空間バッファに対して直接行われる。 [[m:File::Constants::DIRECT]] フラグ自身はデータを同期で転送しようとはするが、 [[m:File::Constants::SYNC]] のようにデータと必要なメタデータの転送が保証されるわけではない。 同期 I/O を保証するためには、
[[m:File::Constants::DIRECT]] に加えて [[m:File::Constants::SYNC]] を使用しなければならない。
[[m:File.open]]で使用します。
@@ -150,8 +143,7 @@ open(2) で O_TMPFILE が指定できる場合に使えます。
[[m:File.fnmatch]], [[m:Dir.glob]]で使用します。
--- FNM_PATHNAME -> Integer
-ワイルドカード `*', `?', `[]' が `/' にマッチしなくなります。
-シェルのパターンマッチにはこのフラグが使用されています。
+ワイルドカード `*', `?', `[]' が `/' にマッチしなくなります。シェルのパターンマッチにはこのフラグが使用されています。
[[m:File.fnmatch]], [[m:Dir.glob]]で使用します。
--- FNM_DOTMATCH -> Integer
diff --git a/refm/api/src/_builtin/File__Stat b/refm/api/src/_builtin/File__Stat
index b0e65f59..9ae6021d 100644
--- a/refm/api/src/_builtin/File__Stat
+++ b/refm/api/src/_builtin/File__Stat
@@ -4,8 +4,7 @@ include Comparable
ファイルの情報を格納したオブジェクトのクラス。
-[[c:FileTest]] に同名のモジュール関数がある場合はそれと同じ働きをします。ただ、
-ファイル名を引数に取るかわりに Stat 自身について判定する点が違います。
+[[c:FileTest]] に同名のモジュール関数がある場合はそれと同じ働きをします。ただ、ファイル名を引数に取るかわりに Stat 自身について判定する点が違います。
p File::Stat.new($0).directory? #=> false
p FileTest.directory?($0) #=> false
@@ -57,9 +56,7 @@ path に関する File::Stat オブジェクトを生成して返します。
--- <=>(o) -> Integer | nil
-ファイルの最終更新時刻を比較します。self が other よりも
-新しければ正の数を、等しければ 0 を古ければ負の数を返します。
-比較できない場合は nil を返します。
+ファイルの最終更新時刻を比較します。self が other よりも新しければ正の数を、等しければ 0 を古ければ負の数を返します。比較できない場合は nil を返します。
@param o [[c:File::Stat]] のインスタンスを指定します。
@@ -368,9 +365,7 @@ rdev の minor 番号部を返します。
p File::Stat.new("/tmp/pipetest").pipe? #=> true
--- symlink? -> false
-シンボリックリンクである時に真を返します。
-ただし、File::Statは自動的にシンボリックリンクをたどっていくので
-常にfalseを返します。
+シンボリックリンクである時に真を返します。ただし、File::Statは自動的にシンボリックリンクをたどっていくので常にfalseを返します。
#@# ソースにそう書いてあったので
diff --git a/refm/api/src/_builtin/Fixnum b/refm/api/src/_builtin/Fixnum
index 37f607c2..82bf4238 100644
--- a/refm/api/src/_builtin/Fixnum
+++ b/refm/api/src/_builtin/Fixnum
@@ -1,19 +1,15 @@
= class Fixnum < Integer
-[[c:Bignum]] 同様、整数のクラスです。
-演算の結果が Fixnum の範囲を越えた時には
-自動的に [[c:Bignum]] に拡張されます。
+[[c:Bignum]] 同様、整数のクラスです。演算の結果が Fixnum の範囲を越えた時には自動的に [[c:Bignum]] に拡張されます。
-マシンのポインタのサイズに収まる長さの固定長整数で、
-ほとんどのマシンでは 31 ビット幅です。
+マシンのポインタのサイズに収まる長さの固定長整数で、ほとんどのマシンでは 31 ビット幅です。
2.4.0 から Fixnum, [[c:Bignum]] は [[c:Integer]] に統合されました。
2.4.0 からはどちらも [[c:Integer]] クラスのエイリアスとなっています。
=== 破壊的な変更
-Ruby の Fixnum クラスは immutable です。
-つまり、オブジェクト自体を破壊的に変更することはできません。
+Ruby の Fixnum クラスは immutable です。つまり、オブジェクト自体を破壊的に変更することはできません。
[[c:Bignum]] も同様です。
@@ -81,8 +77,7 @@ self の符号を反転させたものを返します。
--- divmod(other) -> [Integer, Numeric]
-self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし
-て返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
+self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にして返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
@param other self を割る数。
@@ -91,8 +86,7 @@ self を other で割った商 q と余り r を、 [q, r] という 2 要素の
#@until 1.9.1
--- quo(other) -> Float
-self を other で割った商を返します。
-整商を得たい場合は [[m:Fixnum#div]] を使ってください。
+self を other で割った商を返します。整商を得たい場合は [[m:Fixnum#div]] を使ってください。
#@since 1.8.7
[[m:Fixnum#fdiv]] との違いについては [[m:Numeric#quo]] を参照してください。
@@ -112,8 +106,7 @@ self を other で割った商を返します。
self を other で割った商を [[c:Float]] で返します。
#@since 1.9.1
-ただし [[c:Complex]] が関わる場合は例外です。
-その場合も成分は Float になります。
+ただし [[c:Complex]] が関わる場合は例外です。その場合も成分は Float になります。
#@end
@param other self を割る数を指定します。
@@ -138,8 +131,7 @@ self を other で割った商を [[c:Float]] で返します。
--- <=>(other) -> Fixnum
-self と other を比較して、self が大きい時に正、
-等しい時に 0、小さい時に負の整数を返します。
+self と other を比較して、self が大きい時に正、等しい時に 0、小さい時に負の整数を返します。
@param other 比較対象の数値
@return -1 か 0 か 1 のいずれか
@@ -244,12 +236,9 @@ bitsが実数の場合、小数点以下を切り捨てた値でシフトしま
#@until 1.9.1
--- id2name -> String | nil
-オブジェクトの整数値 self を、ある [[c:Symbol]] オブジェクトに対応する整数値とみなした上で、
-そのシンボルを示す文字列を返します。
-整数に対応するシンボルは必ずしも存在せず、その場合は nil を返します。
+オブジェクトの整数値 self を、ある [[c:Symbol]] オブジェクトに対応する整数値とみなした上で、そのシンボルを示す文字列を返します。整数に対応するシンボルは必ずしも存在せず、その場合は nil を返します。
-[[m:Symbol#to_i]] の逆変換のようですが、
-返すのはシンボルではなく文字列です。
+[[m:Symbol#to_i]] の逆変換のようですが、返すのはシンボルではなく文字列です。
@return オブジェクト名を示す文字列か nil
@@ -304,8 +293,7 @@ self を引数で指定した基数の文字列表現に変換します。
#@until 1.9.1
--- to_sym -> Symbol | nil
-オブジェクトの整数値 self に対応する [[c:Symbol]] オブジェク
-トを返します。整数に対応するシンボルが存在しない時には nil
+オブジェクトの整数値 self に対応する [[c:Symbol]] オブジェクトを返します。整数に対応するシンボルが存在しない時には nil
を返します。
[[m:Symbol#to_i]] の逆変換ととらえることができます。
@@ -351,8 +339,7 @@ self の次の整数を返します。
self を表すのに必要なビット数を返します。
-「必要なビット数」とは符号ビットを除く最上位ビットの位置の事を意味しま
-す。2**n の場合は n+1 になります。self にそのようなビットがない(0 や
+「必要なビット数」とは符号ビットを除く最上位ビットの位置の事を意味します。2**n の場合は n+1 になります。self にそのようなビットがない(0 や
-1 である)場合は 0 を返します。
例: ceil(log2(int < 0 ? -int : int+1)) と同じ結果
diff --git a/refm/api/src/_builtin/Float b/refm/api/src/_builtin/Float
index 4518515c..061e5da0 100644
--- a/refm/api/src/_builtin/Float
+++ b/refm/api/src/_builtin/Float
@@ -1,18 +1,15 @@
= class Float < Numeric
-浮動小数点数のクラス。Float の実装は C 言語の double で、その精度は環
-境に依存します。
+浮動小数点数のクラス。Float の実装は C 言語の double で、その精度は環境に依存します。
-一般にはせいぜい15桁です。詳しくは多くのシステムで採用されている
-浮動小数点標準規格、IEEE (Institute of Electrical and
+一般にはせいぜい15桁です。詳しくは多くのシステムで採用されている浮動小数点標準規格、IEEE (Institute of Electrical and
Electronics Engineers: 米国電気電子技術者協会) 754 を参照してください。
# あるシステムでの 1/3(=0.333...) の結果
printf("%.50f\n", 1.0/3)
=> 0.33333333333333331482961625624739099293947219848633
-[[m:Math::PI]] などの数学定数については [[c:Math]] を
-参照してください。
+[[m:Math::PI]] などの数学定数については [[c:Math]] を参照してください。
== Instance Methods
@@ -81,9 +78,7 @@ self の符号を反転させたものを返します。
0.0 ** 0 #=> 1.0
--- <=>(other) -> 1 | 0 | -1 | nil
-self と other を比較して、self が大きい時に正、
-等しい時に 0、小さい時に負の整数を返します。
-比較できない場合はnilを返します
+self と other を比較して、self が大きい時に正、等しい時に 0、小さい時に負の整数を返します。比較できない場合はnilを返します
例:
@@ -165,8 +160,7 @@ self と other を比較して、self が大きい時に正、
--- finite? -> bool
-数値が ∞, -∞, あるいは NaN でない場合に true を返します。
-そうでない場合に false を返します。
+数値が ∞, -∞, あるいは NaN でない場合に true を返します。そうでない場合に false を返します。
例:
@@ -176,8 +170,7 @@ self と other を比較して、self が大きい時に正、
--- infinite? -> 1 | -1 | nil
-数値が +∞ のとき 1、-∞のとき -1 を返します。それ以外は nil を返
-します。
+数値が +∞ のとき 1、-∞のとき -1 を返します。それ以外は nil を返します。
例:
@@ -326,9 +319,7 @@ self を other で割った商 q と余り r を、
* other > 0 のとき: 0 <= r < other
* other < 0 のとき: other < r <= 0
- * q は整数
-をみたす数です。
-このメソッドは、メソッド / と % によって定義されています。
+ * q は整数をみたす数です。このメソッドは、メソッド / と % によって定義されています。
@param other 自身を割る数を指定します。
@@ -394,8 +385,7 @@ self を other で割った商 q と余り r を、
--- eql?(other) -> bool
-自身と other のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。
-そうでない場合に false を返します。
+自身と other のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。
@param other 自身と比較したい数値を指定します。
@@ -412,8 +402,7 @@ self を other で割った商 q と余り r を、
自身ともっとも近い整数もしくは実数を返します。
-中央値 0.5, -0.5 はそれぞれ 1,-1 に切り上げされます。
-いわゆる四捨五入ですが、偶数丸めではありません。
+中央値 0.5, -0.5 はそれぞれ 1,-1 に切り上げされます。いわゆる四捨五入ですが、偶数丸めではありません。
@param ndigits 丸める位を指定します。
ndigitsが0ならば、小数点以下を四捨五入し、整数を返します。
@@ -470,8 +459,7 @@ self を other で割った商 q と余り r を、
自身ともっとも近い整数を返します。
-中央値 0.5, -0.5 はそれぞれ 1,-1 に切り上げされます。
-いわゆる四捨五入ですが、偶数丸めではありません。
+中央値 0.5, -0.5 はそれぞれ 1,-1 に切り上げされます。いわゆる四捨五入ですが、偶数丸めではありません。
例:
@@ -526,8 +514,7 @@ self が 0 未満の場合に true を返します。そうでない場合に fa
自身を人間が読みやすい形の文字列表現にして返します。
-固定小数点、浮動小数点の形式か、 "Infinity"、"-Infinity"、"NaN" のいず
-れかを返します。
+固定小数点、浮動小数点の形式か、 "Infinity"、"-Infinity"、"NaN" のいずれかを返します。
@return 文字列を返します。
@@ -597,11 +584,9 @@ self が 0 未満の場合に true を返します。そうでない場合に fa
--- rationalize -> Rational
--- rationalize(eps) -> Rational
-自身から eps で指定した許容誤差の範囲に収まるような [[c:Rational]] を返
-します。
+自身から eps で指定した許容誤差の範囲に収まるような [[c:Rational]] を返します。
-eps を省略した場合は誤差が最も小さくなるような [[c:Rational]] を返しま
-す。
+eps を省略した場合は誤差が最も小さくなるような [[c:Rational]] を返します。
@param eps 許容する誤差
@@ -775,8 +760,7 @@ Float が取り得る最小の有限の値は -[[m:Float::MAX]] です。
--- ROUNDS -> Integer
-丸めモード (-1: 不定、0: 0.0 の方向に丸め、1: 四捨五入、2:正の無限
-大の方向に丸め、3:負の無限大の方向に丸め)です。
+丸めモード (-1: 不定、0: 0.0 の方向に丸め、1: 四捨五入、2:正の無限大の方向に丸め、3:負の無限大の方向に丸め)です。
--- INFINITY -> Float
diff --git a/refm/api/src/_builtin/GC b/refm/api/src/_builtin/GC
index bcc298f1..c6de1279 100644
--- a/refm/api/src/_builtin/GC
+++ b/refm/api/src/_builtin/GC
@@ -1,17 +1,12 @@
= module GC
-GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御
-するモジュールです。
+GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御するモジュールです。
#@since 2.1.0
=== GCのチューニングについて
-Ruby 2.1ではRGenGCと呼ばれる新たなGCメカニズムが導入されました。
-それにともない、以下の環境変数が導入され、これらを
-設定することでGCの動作をチューニングすることができます。
-これらの環境変数の効果はRubyの起動時のみ有効です(つまりrubyを動かしている
-途中で変更することはできません)。
+Ruby 2.1ではRGenGCと呼ばれる新たなGCメカニズムが導入されました。それにともない、以下の環境変数が導入され、これらを設定することでGCの動作をチューニングすることができます。これらの環境変数の効果はRubyの起動時のみ有効です(つまりrubyを動かしている途中で変更することはできません)。
====[a:tuning_gc] チューニングための環境変数
* RUBY_GC_HEAP_INIT_SLOTS (default: 10000) - 最初に確保されるスロット数。
@@ -74,8 +69,7 @@ Ruby 2.1ではRGenGCと呼ばれる新たなGCメカニズムが導入されま
==== RUBY_GC_HEAP_GROWTH_FACTOR と RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO に関する補足説明
RUBY_GC_HEAP_GROWTH_FACTOR と RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO はともに
-GC後に空きスロットが少ないときにどれだけの量のメモリを新たに確保するかを決める
-パラメータである。この2つのパラメータの優先順位は以下の通りである。
+GC後に空きスロットが少ないときにどれだけの量のメモリを新たに確保するかを決めるパラメータである。この2つのパラメータの優先順位は以下の通りである。
* RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO が 0.0 のときはこの値は無視され、
RUBY_GC_HEAP_GROWTH_FACTOR のみが利用される。つまり
@@ -89,12 +83,7 @@ GC後に空きスロットが少ないときにどれだけの量のメモリを
==== malloc閾値についての説明
-Rubyが利用するメモリはスロット以外にもある。例えば
-長い文字列は malloc によってCのヒープ上に確保される。GCはこのようなヒープ上の
-メモリを解放するためにも実行される。
-そこで、rubyでは malloc によるメモリ消費量を保持し、この消費量が
-ある閾値を越えるとGCが起動される。また、GCが起動されるごとに
-この消費量カウンタが0にリセットされる。
+Rubyが利用するメモリはスロット以外にもある。例えば長い文字列は malloc によってCのヒープ上に確保される。GCはこのようなヒープ上のメモリを解放するためにも実行される。そこで、rubyでは malloc によるメモリ消費量を保持し、この消費量がある閾値を越えるとGCが起動される。また、GCが起動されるごとにこの消費量カウンタが0にリセットされる。
このカウンタは2種類あり、一方は malloc_increase_bytes、もう一方は
oldmalloc_increase_bytes と呼ばれる。この2つの性質は以下のようになっている。
@@ -124,8 +113,7 @@ oldmalloc_increase_bytes と呼ばれる。この2つの性質は以下のよう
==== 実行中のパラメータ
-プログラム実行中には、GCに関する統計情報/閾値情報を [[m:GC.stat]] で見ることができるが、
-この文章で説明した以下の情報はこれで調べることができる。
+プログラム実行中には、GCに関する統計情報/閾値情報を [[m:GC.stat]] で見ることができるが、この文章で説明した以下の情報はこれで調べることができる。
* malloc_increase_bytes
* malloc_increase_bytes_limits
@@ -231,9 +219,7 @@ nil を返します。
@param immediate_sweep sweep を遅らせる(Lazy Sweep を行う)場合は false
を、そうでない場合は true を指定します。
-注意: これらのキーワード引数は Ruby の実装やバージョンによって異なりま
-す。将来のバージョンとの互換性も保証されません。また、Ruby の実装がサポー
-トしていない場合はキーワード引数を指定しても無視される可能性があります。
+注意: これらのキーワード引数は Ruby の実装やバージョンによって異なります。将来のバージョンとの互換性も保証されません。また、Ruby の実装がサポートしていない場合はキーワード引数を指定しても無視される可能性があります。
#@end
#@samplecode 例
@@ -252,11 +238,9 @@ GCがストレスモードかどうかを返します。
--- stress=(value)
-GCのストレスモードを引数 value に設定します。
-引数 value が真に設定されている間は、GC を行えるすべての機会に GC を行います。
+GCのストレスモードを引数 value に設定します。引数 value が真に設定されている間は、GC を行えるすべての機会に GC を行います。
-この機能はデバッグ用途に提供されています。ストレスモードを有効にすると
-プログラムのパフォーマンスが低下します。
+この機能はデバッグ用途に提供されています。ストレスモードを有効にするとプログラムのパフォーマンスが低下します。
@param value 任意のオブジェクト。整数以外の値を指定した場合は真偽値として解釈されます。
整数を指定する場合は以下のフラグをOR演算した値を指定します。
@@ -278,8 +262,7 @@ GC.stress # => true
#@since 1.9.1
--- count -> Integer
-プロセス開始からガーベージコレクトを実行した回数を [[c:Integer]] で返し
-ます。
+プロセス開始からガーベージコレクトを実行した回数を [[c:Integer]] で返します。
#@samplecode 例
GC.count # => 3
@@ -414,9 +397,7 @@ nil を返します。
@param immediate_sweep sweep を遅らせる(Lazy Sweep を行う)場合は false
を、そうでない場合は true を指定します。
-注意: これらのキーワード引数は Ruby の実装やバージョンによって異なりま
-す。将来のバージョンとの互換性も保証されません。また、Ruby の実装がサポー
-トしていない場合はキーワード引数を指定しても無視される可能性があります。
+注意: これらのキーワード引数は Ruby の実装やバージョンによって異なります。将来のバージョンとの互換性も保証されません。また、Ruby の実装がサポートしていない場合はキーワード引数を指定しても無視される可能性があります。
#@since 2.1.0
diff --git a/refm/api/src/_builtin/GC__Profiler b/refm/api/src/_builtin/GC__Profiler
index bd5e97ba..79b5641f 100644
--- a/refm/api/src/_builtin/GC__Profiler
+++ b/refm/api/src/_builtin/GC__Profiler
@@ -1,9 +1,7 @@
#@since 1.9.1
= module GC::Profiler
-GC の起動回数や起動したタイミング、処理時間などの GC に関するプロファイル
-情報や、ヒープ全体のサイズ、ヒープ内での使用サイズやヒープ内に存在する
-オブジェクトの個数といった情報を扱うモジュールです。
+GC の起動回数や起動したタイミング、処理時間などの GC に関するプロファイル情報や、ヒープ全体のサイズ、ヒープ内での使用サイズやヒープ内に存在するオブジェクトの個数といった情報を扱うモジュールです。
@see [[c:GC]]
@@ -43,8 +41,7 @@ GC のプロファイラを停止します。
GC::Profiler.disable
GC::Profiler.enabled? #=> false
-このメソッドでは、蓄積したプロファイル情報は破棄しません。
-破棄したい場合は [[m:GC::Profiler.clear]] を呼び出してください。
+このメソッドでは、蓄積したプロファイル情報は破棄しません。破棄したい場合は [[m:GC::Profiler.clear]] を呼び出してください。
@see [[m:GC::Profiler.enable]], [[m:GC::Profiler.enabled?]]
@@ -65,8 +62,7 @@ GC のプロファイラを停止します。
GC のプロファイル情報をフォーマットし、文字列として返します。
-プロファイル情報は、GC の発生ごとに集計します。
-以下は、5 回 GC が発生した場合の実行例です。
+プロファイル情報は、GC の発生ごとに集計します。以下は、5 回 GC が発生した場合の実行例です。
$ ruby -e "GC::Profiler.enable; a = Array.new(100000){ 'aa' }; puts GC::Profiler.result"
GC 5 invokes.
@@ -111,8 +107,7 @@ GC のプロファイル情報から GC の総計時間を計算し、msec 単
--- raw_data -> [Hash, ...] | nil
GC のプロファイル情報を GC の発生ごとに [[c:Hash]] の配列
-(:GC_INVOKE_TIME が早いもの順)で返します。[[c:GC::Profiler]] が有効になっ
-ていない場合は nil を返します。
+(:GC_INVOKE_TIME が早いもの順)で返します。[[c:GC::Profiler]] が有効になっていない場合は nil を返します。
例:
@@ -157,8 +152,7 @@ GC のプロファイル情報を GC の発生ごとに [[c:Hash]] の配列
GC がマークフェイズかどうか
-また、GC_PROFILE_MORE_DETAIL を有効にして Ruby をビルドした場合、以下の
-キーも参照できます。
+また、GC_PROFILE_MORE_DETAIL を有効にして Ruby をビルドした場合、以下のキーも参照できます。
* :GC_MARK_TIME
* :GC_SWEEP_TIME
diff --git a/refm/api/src/_builtin/Hash b/refm/api/src/_builtin/Hash
index b79779df..9f7a64a6 100644
--- a/refm/api/src/_builtin/Hash
+++ b/refm/api/src/_builtin/Hash
@@ -1,8 +1,7 @@
= class Hash < Object
include Enumerable
-ハッシュテーブル(連想配列とも呼ぶ)のクラスです。ハッシュは任意の種類のオブ
-ジェクト(キー)から任意の種類のオブジェクト(値)への関連づけを行うことができます。
+ハッシュテーブル(連想配列とも呼ぶ)のクラスです。ハッシュは任意の種類のオブジェクト(キー)から任意の種類のオブジェクト(値)への関連づけを行うことができます。
ハッシュ生成は多くの場合以下のようなリテラル ([[ref:d:spec/literal#hash]]) で行われます。
#@#リテラル-ハッシュ式へのリンクつける
@@ -15,13 +14,11 @@ include Enumerable
{"a+": b , ... } # { :"a+" => b, ... } と同じ。上の表現に空白や記号を含めたい場合
#@end
-キーには任意の種類のオブジェクトを用いることができますが、
-以下の2つのメソッドが適切に定義してある必要があります。
+キーには任意の種類のオブジェクトを用いることができますが、以下の2つのメソッドが適切に定義してある必要があります。
* [[m:Object#hash]] ハッシュの格納に用いられるハッシュ値の計算
* [[m:Object#eql?]] キーの同一性判定
-破壊的操作によってキーとして与えたオブジェクトの内容が変化し、[[m:Object#hash]] の返す
-値が変わるとハッシュから値が取り出せなくなりますから、
+破壊的操作によってキーとして与えたオブジェクトの内容が変化し、[[m:Object#hash]] の返す値が変わるとハッシュから値が取り出せなくなりますから、
#@since 1.9.1
[[c:Array]]、[[c:Hash]]
#@else
@@ -29,8 +26,7 @@ include Enumerable
#@end
などのインスタンスはキーに向きません。[[m:Hash#rehash]] を参照。
-ただし、 更新不可 ([[m:Object#frozen?]] が true) では無い文字列をキーとして与えた場合は、文字列をコピーし、コピーを更新不可に設定 ([[m:Object#freeze]]) してキーとして
-使用します。この為、キーとして使われている文字列を更新しようとすると例外
+ただし、 更新不可 ([[m:Object#frozen?]] が true) では無い文字列をキーとして与えた場合は、文字列をコピーし、コピーを更新不可に設定 ([[m:Object#freeze]]) してキーとして使用します。この為、キーとして使われている文字列を更新しようとすると例外
#@since 2.5.0
[[c:FrozenError]]
#@else
@@ -38,16 +34,12 @@ include Enumerable
#@end
が発生するので rehash を呼ぶ必要性は生じません。
-ハッシュにはデフォルト値を設定することができます。存在しないキーを探索したときに返す値で、未設定時は nil です。
-デフォルト値には値形式とブロック形式があります。
-実際にデフォルト値がどのように扱われるかは各メソッドの説明を参照してください。
+ハッシュにはデフォルト値を設定することができます。存在しないキーを探索したときに返す値で、未設定時は nil です。デフォルト値には値形式とブロック形式があります。実際にデフォルト値がどのように扱われるかは各メソッドの説明を参照してください。
#@since 1.9.1
-ハッシュに含まれる要素の順序が保持されるようになりました。
-ハッシュにキーが追加された順序で列挙します。
+ハッシュに含まれる要素の順序が保持されるようになりました。ハッシュにキーが追加された順序で列挙します。
#@else
-ハッシュに含まれる要素の順序は保持されません。
-列挙する順序は不定です。
+ハッシュに含まれる要素の順序は保持されません。列挙する順序は不定です。
#@end
@@ -58,8 +50,7 @@ include Enumerable
to_hash メソッドを用いて obj をハッシュに変換しようとします。
-何らかの理由で変換できないときには nil を返します。
-このメソッドは引数がハッシュであるかどうかを調べるために使えます。
+何らかの理由で変換できないときには nil を返します。このメソッドは引数がハッシュであるかどうかを調べるために使えます。
Hash.try_convert({1=>2}) # => {1=>2}
Hash.try_convert("1=>2") # => nil
@@ -67,15 +58,13 @@ to_hash メソッドを用いて obj をハッシュに変換しようとしま
--- [](other) -> Hash
-新しいハッシュを生成します。
-引数otherと同一のキーと値を持つ新たなハッシュを生成して返します。
+新しいハッシュを生成します。引数otherと同一のキーと値を持つ新たなハッシュを生成して返します。
引数otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
デフォルト値はコピーしません。生成されたハッシュのデフォルト値は nil です。
-引数otherと生成したハッシュは同じオブジェクトを参照することになるので、
-一方でキーや値に破壊的操作を行うともう片方にも影響します。
+引数otherと生成したハッシュは同じオブジェクトを参照することになるので、一方でキーや値に破壊的操作を行うともう片方にも影響します。
@param other 生成元となるハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@@ -98,8 +87,7 @@ to_hash メソッドを用いて obj をハッシュに変換しようとしま
--- [](*key_and_value) -> Hash
-新しいハッシュを生成します。
-引数は必ず偶数個指定しなければなりません。奇数番目がキー、偶数番目が値になります。
+新しいハッシュを生成します。引数は必ず偶数個指定しなければなりません。奇数番目がキー、偶数番目が値になります。
このメソッドでは生成するハッシュにデフォルト値を指定することはできません。
[[m:Hash.new]]を使うか、[[m:Hash#default=]]で後から指定してください。
@@ -170,21 +158,18 @@ to_hash メソッドを用いて obj をハッシュに変換しようとしま
--- new(ifnone = nil) -> Hash
-空の新しいハッシュを生成します。ifnone はキーに対
-応する値が存在しない時のデフォルト値です。設定したデフォルト値は[[m:Hash#default]]で参照できます。
+空の新しいハッシュを生成します。ifnone はキーに対応する値が存在しない時のデフォルト値です。設定したデフォルト値は[[m:Hash#default]]で参照できます。
ifnoneを省略した Hash.new は {} と同じです。
-デフォルト値として、毎回同一のオブジェクトifnoneを返します。
-それにより、一箇所のデフォルト値の変更が他の値のデフォルト値にも影響します。
+デフォルト値として、毎回同一のオブジェクトifnoneを返します。それにより、一箇所のデフォルト値の変更が他の値のデフォルト値にも影響します。
h = Hash.new([])
h[0] << 0
h[1] << 1
p h.default #=> [0, 1]
-これを避けるには、破壊的でないメソッドで再代入する必要が有ります。
-また、このようなミスを防ぐためにもifnoneは freeze して破壊的操作を禁止しておくのが無難です。
+これを避けるには、破壊的でないメソッドで再代入する必要が有ります。また、このようなミスを防ぐためにもifnoneは freeze して破壊的操作を禁止しておくのが無難です。
#@#デフォルト値の扱いには注意が必要です( [[trap:Hash]] )
@@ -213,12 +198,9 @@ ifnoneを省略した Hash.new は {} と同じです。
#@end
--- new {|hash, key| ... } -> Hash
-空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま
-す。設定したデフォルト値は[[m:Hash#default_proc]]で参照できます。
+空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になります。設定したデフォルト値は[[m:Hash#default_proc]]で参照できます。
-値が設定されていないハッシュ要素を参照するとその都度ブロックを
-実行し、その結果を返します。
-ブロックにはそのハッシュとハッシュを参照したときのキーが渡されます。
+値が設定されていないハッシュ要素を参照するとその都度ブロックを実行し、その結果を返します。ブロックにはそのハッシュとハッシュを参照したときのキーが渡されます。
@raise ArgumentError ブロックと通常引数を同時に与えると発生します。
@@ -358,8 +340,7 @@ self に対応する [[c:Proc]] オブジェクトを返します。
h = { "a" => 0, "b" => 100, "c" => 200, "d" => 300, "e" => 300 }
p h.invert #=> {0=>"a", 100=>"b", 200=>"c", 300=>"e"}
-=== 参考
-値が重複していたときに備えて、変換後の値を配列として保持するには、次のようにします。
+=== 参考値が重複していたときに備えて、変換後の値を配列として保持するには、次のようにします。
def safe_invert(orig_hash)
result = Hash.new{|h,key| h[key] = [] }
@@ -381,9 +362,7 @@ self に対応する [[c:Proc]] オブジェクトを返します。
--- fetch(key, default = nil) {|key| ... } -> object
-key に関連づけられた値を返します。該当するキーが登録されてい
-ない時には、引数 default が与えられていればその値を、ブロッ
-クが与えられていればそのブロックを評価した値を返します。
+key に関連づけられた値を返します。該当するキーが登録されていない時には、引数 default が与えられていればその値を、ブロックが与えられていればそのブロックを評価した値を返します。
fetchはハッシュ自身にデフォルト値が設定されていても単に無視します(挙動に変化がありません)。
@@ -428,8 +407,7 @@ fetchはハッシュ自身にデフォルト値が設定されていても単に
引数で指定されたキーに関連づけられた値の配列を返します。
-該当するキーが登録されていない時には、ブロックが与えられていればそのブ
-ロックを評価した値を返します。ブロックが与えられていない時は
+該当するキーが登録されていない時には、ブロックが与えられていればそのブロックを評価した値を返します。ブロックが与えられていない時は
[[c:KeyError]] が発生します。
self にデフォルト値が設定されていても無視されます(挙動に変化がありません)。
@@ -464,8 +442,7 @@ self にデフォルト値が設定されていても無視されます(挙動
--- has_value?(value) -> bool
--- value?(value) -> bool
-ハッシュが value を値として持つ時真を返します。
-値の一致判定は == で行われます。
+ハッシュが value を値として持つ時真を返します。値の一致判定は == で行われます。
@param value 探索する値を指定します。
@@ -477,8 +454,7 @@ self にデフォルト値が設定されていても無視されます(挙動
--- []=(key, value)
--- store(key, value) -> object
-key に対して value を関連づけます。value を返し
-ます。
+key に対して value を関連づけます。value を返します。
@param key キーを指定します。
@param value 値を指定します。
@@ -495,8 +471,7 @@ key に対して value を関連づけます。value を返し
ハッシュの中身を空にします。
-空にした後のselfを返します。
-デフォルト値の設定はクリアされません。
+空にした後のselfを返します。デフォルト値の設定はクリアされません。
h = Hash.new("default value")
h[:some] = "some"
@@ -570,8 +545,7 @@ selfが変化する破壊的メソッドです。
shiftは破壊的メソッドです。selfは要素を取り除かれた残りのハッシュに変更されます。
-ハッシュが空の場合、デフォルト値([[m:Hash#default]]または[[m:Hash#default_proc]]のブロックの値か、どちらもnilならばnil)
-を返します(このとき、[key,value] という形式の値を返すわけではないことに注意)。
+ハッシュが空の場合、デフォルト値([[m:Hash#default]]または[[m:Hash#default_proc]]のブロックの値か、どちらもnilならばnil)を返します(このとき、[key,value] という形式の値を返すわけではないことに注意)。
h = {:ab => "some" , :cd => "all"}
p h.shift #=> [:ab, "some"]
@@ -629,8 +603,7 @@ key に関連づけられた値を返します。
該当するキーが登録されていない時には、デフォルト値を返します。
-デフォルト値と値としての nil を区別する必要が
-ある場合は [[m:Hash#fetch]] または [[m:Hash#has_key?]] を使ってください。
+デフォルト値と値としての nil を区別する必要がある場合は [[m:Hash#fetch]] または [[m:Hash#has_key?]] を使ってください。
@param key 探索するキーを指定します。
@@ -650,9 +623,7 @@ key に関連づけられた値を返します。
--- default(key) -> object | nil
ハッシュのデフォルト値を返します。
-ハッシュのデフォルト値がブロックで与えられている場合、 1 番目の形式だと
-返り値が nil になることに注意してください。この場合、ハッシュのデフォルト値に
-ついて調べるには 2 番目の形式か [[m:Hash#default_proc]] を使ってください。
+ハッシュのデフォルト値がブロックで与えられている場合、 1 番目の形式だと返り値が nil になることに注意してください。この場合、ハッシュのデフォルト値について調べるには 2 番目の形式か [[m:Hash#default_proc]] を使ってください。
2 番目の形式はハッシュがデフォルト値としてブロックを持つ場合に、
self と引数 key をブロックに渡して評価し、その結果を返します。
@@ -678,8 +649,7 @@ self と引数 key をブロックに渡して評価し、その結果を返し
--- default=(value)
-ハッシュのデフォルト値を value に変更します。対応する値が存
-在しないキーで検索した時にはこの値を返すようになります。
+ハッシュのデフォルト値を value に変更します。対応する値が存在しないキーで検索した時にはこの値を返すようになります。
デフォルト値(ブロックを含む)が既に設定してあった場合も value で上書きします。
@@ -696,8 +666,7 @@ self と引数 key をブロックに渡して評価し、その結果を返し
--- default_proc -> Proc | nil
-ハッシュのデフォルト値を返す [[c:Proc]] オブジェクトを返します。
-ハッシュがブロック形式のデフォルト値を持たない場合 nil を返します。
+ハッシュのデフォルト値を返す [[c:Proc]] オブジェクトを返します。ハッシュがブロック形式のデフォルト値を持たない場合 nil を返します。
h = Hash.new {|hash, key| "The #{key} not exist in #{hash.inspect}"}
p h.default #=> nil
@@ -713,14 +682,12 @@ self と引数 key をブロックに渡して評価し、その結果を返し
#@since 1.9.1
--- default_proc=(pr)
-ハッシュのデフォルト値を返す [[c:Proc]] オブジェクトを
-変更します。
+ハッシュのデフォルト値を返す [[c:Proc]] オブジェクトを変更します。
以前のデフォルトは値([[m:Hash#default]])の場合も
Proc の場合([[m:Hash#default_proc]])でも上書きされます。
-引数には to_proc で [[c:Proc]] オブジェクトに変換できる
-オブジェクトも受け付けます。
+引数には to_proc で [[c:Proc]] オブジェクトに変換できるオブジェクトも受け付けます。
#@since 2.0.0
nil を指定した場合は現在の [[m:Hash#default_proc]] をクリアします。
@@ -761,9 +728,7 @@ nil を指定した場合は現在の [[m:Hash#default_proc]] をクリアしま
selfと同じ内容を持つ新しいハッシュを返します。
-clone は frozen tainted singleton-class の情報も含めてコピーしますが、 dup は内容だけをコピーします。
-またどちらのメソッドも要素それ自体のコピーはしません。つまり参照しているオブジェクトが
-変わらない「浅い(shallow)」コピーを行います。
+clone は frozen tainted singleton-class の情報も含めてコピーしますが、 dup は内容だけをコピーします。またどちらのメソッドも要素それ自体のコピーはしません。つまり参照しているオブジェクトが変わらない「浅い(shallow)」コピーを行います。
h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup
@@ -805,8 +770,7 @@ key に対応する要素を取り除きます。
--- reject -> Enumerable::Enumerator
#@end
-self を複製して、ブロックを評価した値が真になる要
-素を削除したハッシュを返します。
+self を複製して、ブロックを評価した値が真になる要素を削除したハッシュを返します。
ハッシュを返すことを除けば
[[m:Enumerable#reject]] とほぼ同じです。
@@ -830,12 +794,10 @@ selfを破壊的に変更したい場合はかわりに[[m:Hash#delete_if]]か[[
--- delete_if {|key, value| ... } -> self
--- reject! {|key, value| ... } -> self|nil
-キーと値を引数としてブロックを評価した結果が真であ
-るような要素を self から削除します。
+キーと値を引数としてブロックを評価した結果が真であるような要素を self から削除します。
delete_if は常に self を返します。
-reject! は、要素を削除しなかった場合には nil を返し、
-そうでなければ self を返します。
+reject! は、要素を削除しなかった場合には nil を返し、そうでなければ self を返します。
#@since 1.8.7
#@until 1.9.1
@@ -890,9 +852,7 @@ self を返します。
#@if( version >= "1.8.0" and version < "1.9.1" )
each と each_pair ではブロック引数の受渡し方が異なります。
-each は キーと値の配列を1引数で、each_pair は別々に2引数でブロックに値を渡します。
-これによりブロック引数をひとつだけ指定した場合の挙動が異なります。
-ブロック引数を2つ指定するようにすれば同じ挙動になります。
+each は キーと値の配列を1引数で、each_pair は別々に2引数でブロックに値を渡します。これによりブロック引数をひとつだけ指定した場合の挙動が異なります。ブロック引数を2つ指定するようにすれば同じ挙動になります。
{:a=>1, :b=>2}.each {|a| p a}
#=> [:a, 1]
@@ -1025,8 +985,7 @@ nil を返します。
該当するキーが複数存在する場合、どのキーを返すかは不定です。
-Hash#index は obsolete です。
-使用すると警告メッセージが表示されます。
+Hash#index は obsolete です。使用すると警告メッセージが表示されます。
@param val 探索に用いる値を指定します。
@@ -1070,9 +1029,7 @@ Hash#index は obsolete です。
引数で指定されたキーに対応する値の配列を返します。
-このメソッドは obsolete です。
-使用すると警告メッセージが表示されます。
-代わりに [[m:Hash#values_at]] を使用してください。
+このメソッドは obsolete です。使用すると警告メッセージが表示されます。代わりに [[m:Hash#values_at]] を使用してください。
@param keys キーを任意個指定します。
@@ -1082,8 +1039,7 @@ Hash#index は obsolete です。
#@since 2.3.0
--- dig(key, ...) -> object | nil
-self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し
-ます。途中のオブジェクトが nil であった場合は nil を返します。
+self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返します。途中のオブジェクトが nil であった場合は nil を返します。
@param key キーを任意個指定します。
@@ -1102,9 +1058,7 @@ self 以下のネストしたオブジェクトを dig メソッドで再帰的
キーのハッシュ値を再計算します。
-キーになっているオブジェクトの内容が変化した時など、
-ハッシュ値が変わってしまった場合はこのメソッドを使ってハッシュ値を再計算しない
-限り、そのキーに対応する値を取り出すことができなくなります。
+キーになっているオブジェクトの内容が変化した時など、ハッシュ値が変わってしまった場合はこのメソッドを使ってハッシュ値を再計算しない限り、そのキーに対応する値を取り出すことができなくなります。
@raise RuntimeError [[m:Hash#each]]などのイテレータの評価途中でrehashすると発生します。
@return selfを返します。
@@ -1129,10 +1083,7 @@ self 以下のネストしたオブジェクトを dig メソッドで再帰的
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
-self と other に同じキーがあった場合はブロック付きか否かで
-判定方法が違います。ブロック付きのときはブロックを呼び出して
-その返す値を重複キーに対応する値にします。ブロック付きでない
-場合は常に other の値を使います。
+self と other に同じキーがあった場合はブロック付きか否かで判定方法が違います。ブロック付きのときはブロックを呼び出してその返す値を重複キーに対応する値にします。ブロック付きでない場合は常に other の値を使います。
Hash#merge! は、マージの結果でselfを変更する破壊的メソッドで、[[m:Hash#update]] の別名です。
@@ -1195,8 +1146,7 @@ otherがハッシュではない場合、otherのメソッドto_hashを使って
--- eql?(other) -> bool
#@end
-自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、
-値が == メソッドで比較して全て等しい場合に真を返します。
+自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、値が == メソッドで比較して全て等しい場合に真を返します。
@param other 自身と比較したい Hash オブジェクトを指定します。
@@ -1291,8 +1241,7 @@ other が self のサブセットである場合に真を返します。
--- hash -> Integer
#@since 1.8.7
-自身が保持するキーと値のハッシュ値を元にして算出した整数を返します。
-自身が保持するキーや値が変化すればこのメソッドが返す値も変化します。
+自身が保持するキーと値のハッシュ値を元にして算出した整数を返します。自身が保持するキーや値が変化すればこのメソッドが返す値も変化します。
a = {}
p a.hash #=> 0
@@ -1300,8 +1249,7 @@ other が self のサブセットである場合に真を返します。
p a.hash #=> 329543
#@else
-自身の [[m:Object#object_id]] を返します。これは [[c:Object]] クラスで定義されたデフォルトの動作です。
-メソッド hash の返り値は自身が保持するキーや値に影響されません。
+自身の [[m:Object#object_id]] を返します。これは [[c:Object]] クラスで定義されたデフォルトの動作です。メソッド hash の返り値は自身が保持するキーや値に影響されません。
a = {}
p a.hash #=> 538688380
@@ -1314,8 +1262,7 @@ other が self のサブセットである場合に真を返します。
--- assoc(key) -> Array | nil
-ハッシュが key をキーとして持つとき、見つかった要素のキーと値のペア
-を配列として返します。
+ハッシュが key をキーとして持つとき、見つかった要素のキーと値のペアを配列として返します。
キーの同一性判定には eql? メソッドではなく == メソッドを使います。
key が見つからなかった場合は、nil を返します。
@@ -1337,9 +1284,7 @@ key が見つからなかった場合は、nil を返します。
自身を平坦化した配列を生成して返します。
全てのキーと値を新しい配列の要素として展開します。
-[[m:Array#flatten]] と違って、デフォルトではこのメソッドは自身を
-再帰的に平坦化しません。level を指定すると指定されたレベルまで
-再帰的に平坦化します。
+[[m:Array#flatten]] と違って、デフォルトではこのメソッドは自身を再帰的に平坦化しません。level を指定すると指定されたレベルまで再帰的に平坦化します。
@param level 展開するレベル
@@ -1356,9 +1301,7 @@ key が見つからなかった場合は、nil を返します。
ハッシュ内を検索して,引数 obj と 一致する値を探します。
-比較は == メソッドを使用して行われます。一致する値があれば,
-該当するキーとその値とを要素とするサイズ 2 の配列を返します。
-ない場合には nil を返します。
+比較は == メソッドを使用して行われます。一致する値があれば,該当するキーとその値とを要素とするサイズ 2 の配列を返します。ない場合には nil を返します。
@param value 探索する値。
@@ -1380,8 +1323,7 @@ key が見つからなかった場合は、nil を返します。
#@since 1.9.1
--- select {|key, value| ... } -> Hash
-key, value のペアについてブロックを評価し,真となるペアだけを含む
-ハッシュを生成して返します。
+key, value のペアについてブロックを評価し,真となるペアだけを含むハッシュを生成して返します。
h = { "a" => 100, "b" => 200, "c" => 300 }
h.select {|k,v| k > "a"} #=> {"b" => 200, "c" => 300}
@@ -1390,8 +1332,7 @@ key, value のペアについてブロックを評価し,真となるペアだ
#@else
--- select {|key, value| ... } -> Array
-key, value のペアについてブロックを評価し、真となるペアだけを含む
-配列を生成して返します。
+key, value のペアについてブロックを評価し、真となるペアだけを含む配列を生成して返します。
生成される配列は、[key, value] を要素とする配列です。
@@ -1423,8 +1364,7 @@ key, value のペアについてブロックを評価し、真となるペアだ
--- sort -> Array
--- sort{|a, b| ... } -> Array
-ハッシュを [key, value] を要素とする配列の配列に変換して,それをソー
-トした配列を返します。
+ハッシュを [key, value] を要素とする配列の配列に変換して,それをソートした配列を返します。
h = { "a" => 20, "b" => 30, "c" => 10 }
h.sort #=> [["a", 20], ["b", 30], ["c", 10]]
@@ -1441,8 +1381,7 @@ key, value のペアについてブロックを評価し、真となるペアだ
に残します。
keep_if は常に self を返します。
-select! はオブジェクトが変更された場合に self を、
-されていない場合に nil を返します。
+select! はオブジェクトが変更された場合に self を、されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
[[c:Enumerator]] オブジェクトを返します。
@@ -1466,8 +1405,7 @@ select! はオブジェクトが変更された場合に self を、
--- transform_values {|value| ... } -> Hash
--- transform_values -> Enumerator
-すべての値に対してブロックを呼び出した結果で置き換えたハッシュを返します。
-キーは変化しません。
+すべての値に対してブロックを呼び出した結果で置き換えたハッシュを返します。キーは変化しません。
@return 置き換えたハッシュを返します。
ブロックが与えられなかった場合は、[[c:Enumerator]] オブジェクトを
@@ -1487,8 +1425,7 @@ select! はオブジェクトが変更された場合に self を、
--- transform_values! {|value| ... } -> self
--- transform_values! -> Enumerator
-すべての値に対してブロックを呼び出した結果でハッシュの値を変更します。
-キーは変化しません。
+すべての値に対してブロックを呼び出した結果でハッシュの値を変更します。キーは変化しません。
@return transform_values! は常に self を返します。
ブロックが与えられなかった場合は、[[c:Enumerator]] オブジェクトを
@@ -1508,8 +1445,7 @@ select! はオブジェクトが変更された場合に self を、
--- transform_keys {|key| ... } -> Hash
--- transform_keys -> Enumerator
-すべてのキーに対してブロックを呼び出した結果で置き換えたハッシュを返します。
-値は変化しません。
+すべてのキーに対してブロックを呼び出した結果で置き換えたハッシュを返します。値は変化しません。
#@samplecode 例
h = { a: 1, b: 2, c: 3 }
@@ -1526,8 +1462,7 @@ select! はオブジェクトが変更された場合に self を、
--- transform_keys! {|key| ... } -> self
--- transform_keys! -> Enumerator
-すべての値に対してブロックを呼び出した結果でハッシュのキーを変更します。
-値は変化しません。
+すべての値に対してブロックを呼び出した結果でハッシュのキーを変更します。値は変化しません。
@return transform_keys! は常に self を返します。
ブロックが与えられなかった場合は、[[c:Enumerator]] オブジェクトを
diff --git a/refm/api/src/_builtin/IO b/refm/api/src/_builtin/IO
index 9105b309..cb769ca6 100644
--- a/refm/api/src/_builtin/IO
+++ b/refm/api/src/_builtin/IO
@@ -11,21 +11,15 @@ File::Constants は、[[c:File]] から IO へ移動しました。
===[a:m17n] 多言語化と IO のエンコーディング
-IO オブジェクトはエンコーディングを持ちます。
-エンコーディングの影響を受けるメソッドと受けないメソッドがあります。
+IO オブジェクトはエンコーディングを持ちます。エンコーディングの影響を受けるメソッドと受けないメソッドがあります。
-影響を受けるメソッドでは、IO のエンコーディングに従い読み込まれた文字列のエンコーディングが決定されます。
-また IO のエンコーディングを適切に設定することにより、読み込み時・書き込み時に文字列のエンコーディングを
-変換させることもできます。
+影響を受けるメソッドでは、IO のエンコーディングに従い読み込まれた文字列のエンコーディングが決定されます。また IO のエンコーディングを適切に設定することにより、読み込み時・書き込み時に文字列のエンコーディングを変換させることもできます。
==== エンコーディングの影響を受けるメソッドと受けないメソッド
-IO の読み込みメソッドは2種類存在します。
-テキスト読み込みメソッドとバイナリ読み込みメソッドです。
+IO の読み込みメソッドは2種類存在します。テキスト読み込みメソッドとバイナリ読み込みメソッドです。
-テキスト読み込みメソッドは IO のエンコーディングの影響をうけます。
-詳しくは「[[ref:io_encoding]]」を参照して下さい。
-以下がテキスト読み込みメソッドです。
+テキスト読み込みメソッドは IO のエンコーディングの影響をうけます。詳しくは「[[ref:io_encoding]]」を参照して下さい。以下がテキスト読み込みメソッドです。
* [[m:IO.foreach]]
* [[m:IO.readlines]]
@@ -39,9 +33,7 @@ IO の読み込みメソッドは2種類存在します。
* [[m:IO#readline]]
* [[m:IO#readlines]]
-バイナリ読み込みメソッドは IO のエンコーディングの影響を受けません。
-返す文字列のエンコーディングは常に ASCII-8BIT になります。
-以下がバイナリ読み込みメソッドです。
+バイナリ読み込みメソッドは IO のエンコーディングの影響を受けません。返す文字列のエンコーディングは常に ASCII-8BIT になります。以下がバイナリ読み込みメソッドです。
* [[m:IO#read]](size)
* [[m:IO#read_nonblock]]
@@ -49,11 +41,9 @@ IO の読み込みメソッドは2種類存在します。
* [[m:IO#sysread]]
また書き込みメソッド [[m:IO#write]] も IO のエンコーディングの影響を受けます。
-IO のすべての書き込みメソッドは内部で [[m:IO#write]] を呼びますので、
-書き込みメソッドはすべて IO のエンコーディングの影響を受けます。
+IO のすべての書き込みメソッドは内部で [[m:IO#write]] を呼びますので、書き込みメソッドはすべて IO のエンコーディングの影響を受けます。
-シーク関連のメソッドはエンコーディングの影響を受けません。
-常に1バイトを単位として動作します。
+シーク関連のメソッドはエンコーディングの影響を受けません。常に1バイトを単位として動作します。
例:
@@ -63,10 +53,7 @@ IO のすべての書き込みメソッドは内部で [[m:IO#write]] を呼び
====[a:io_encoding] IO のエンコーディングとエンコーディングの変換
-IO オブジェクトは外部エンコーディングと内部エンコーディングを持ちます。
-外部エンコーディングとは IO が表すファイルなどの文字エンコーディングです。
-内部エンコーディングとは IO から読み込まれた文字列、あるいは IO の書き込みメソッドへ渡す文字列
-の文字エンコーディングです。
+IO オブジェクトは外部エンコーディングと内部エンコーディングを持ちます。外部エンコーディングとは IO が表すファイルなどの文字エンコーディングです。内部エンコーディングとは IO から読み込まれた文字列、あるいは IO の書き込みメソッドへ渡す文字列の文字エンコーディングです。
以下の三通りがあります。
@@ -95,9 +82,7 @@ IO オブジェクトは外部エンコーディングと内部エンコーデ
IO に対してエンコーディングを指定する方法には、生成時に [[m:IO.open]] や [[m:File.open]]
-に渡すモードとともに指定するものと
-生成後に [[m:IO#set_encoding]] を使って指定するものの二通りがあります。詳しくはそれぞれのメソッドの項を
-参照して下さい。通常は前者の方法を使います。
+に渡すモードとともに指定するものと生成後に [[m:IO#set_encoding]] を使って指定するものの二通りがあります。詳しくはそれぞれのメソッドの項を参照して下さい。通常は前者の方法を使います。
例1:
@@ -154,9 +139,7 @@ IO に対してエンコーディングを指定する方法には、生成時
==== ファイル名のエンコーディング
-ファイル名の文字エンコーディングはプラットフォームに依存します。
-ファイル名の文字エンコーディングが固定されているプラットフォーム(Win, Mac)では、
-エンコーディングは暗黙に変換されます(予定)。UNIX では変換されずそのままシステムコールに渡されます。
+ファイル名の文字エンコーディングはプラットフォームに依存します。ファイル名の文字エンコーディングが固定されているプラットフォーム(Win, Mac)では、エンコーディングは暗黙に変換されます(予定)。UNIX では変換されずそのままシステムコールに渡されます。
[[m:Dir.glob]], [[m:Dir.foreach]] などが返すファイル名のエンコーディングも同様にプラットフォーム依存です。
#@#Win, Mac では UTF-8 です(予定)。
@@ -164,13 +147,11 @@ UNIX では ASCII-8BIT です。
====[a:io_binmode] バイナリモード
-Windows の IO にはテキストモードとバイナリモードという2種類のモードが存在します。
-これらのモードは上で説明した IO のエンコーディングとは独立です。改行の変換にしか影響しません。
+Windows の IO にはテキストモードとバイナリモードという2種類のモードが存在します。これらのモードは上で説明した IO のエンコーディングとは独立です。改行の変換にしか影響しません。
=== EOF での読み込みメソッドの振る舞いの違い
-空ファイルや EOF での各読み込みメソッドの振る舞いは以下のとおりです。
-ただし、length を指定できるメソッドに関しては、length に nil または 0 を指定した場合、
+空ファイルや EOF での各読み込みメソッドの振る舞いは以下のとおりです。ただし、length を指定できるメソッドに関しては、length に nil または 0 を指定した場合、
EOF であっても常に空文字列 "" を返します。
//emlist{
@@ -205,15 +186,11 @@ IO#lines 通常どおり
--- copy_stream(src, dst, copy_length = nil) -> Integer
--- copy_stream(src, dst, copy_length, src_offset) -> Integer
-指定された src から dst へコピーします。
-コピーしたバイト数を返します。
+指定された src から dst へコピーします。コピーしたバイト数を返します。
-コピー元の src が IO オブジェクトの場合は、src のオフセットから
-ファイル名の場合はファイルの最初からコピーを開始します。
-コピー先の dst に関しても同様です。
+コピー元の src が IO オブジェクトの場合は、src のオフセットからファイル名の場合はファイルの最初からコピーを開始します。コピー先の dst に関しても同様です。
-dst にファイル名を指定し、そのファイルが存在しない場合、
-ファイルは作成されます。ファイルが存在する場合は長さ 0 に切り詰められます。
+dst にファイル名を指定し、そのファイルが存在しない場合、ファイルは作成されます。ファイルが存在する場合は長さ 0 に切り詰められます。
src が IO オブジェクトでかつ src_offset が指定されている場合、
src のオフセット(src.pos)は変更されません。
@@ -237,8 +214,7 @@ IO.read("filecopy") # => "efg"
--- try_convert(obj) -> IO | nil
-obj を to_io メソッドによって [[c:IO]] オブジェクトに変換します。
-変換できなかった場合は nil を返します。
+obj を to_io メソッドによって [[c:IO]] オブジェクトに変換します。変換できなかった場合は nil を返します。
IO.try_convert(STDOUT) # => STDOUT
IO.try_convert("STDOUT") # => nil
@@ -251,12 +227,10 @@ obj を to_io メソッドによって [[c:IO]] オブジェクトに変換し
オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。
-IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
-実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
+IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
-=== オプション引数
-このメソッドは以下のオプションを利用できます。
+=== オプション引数このメソッドは以下のオプションを利用できます。
* :mode mode引数と同じ意味です
* :external_encoding 外部エンコーディング。"-" はデフォルト外部エンコーディングの
別名です。
@@ -265,10 +239,7 @@ IO.new, IO.for_fd はブロックを受け付けません。
* :encoding "extenc:intenc" の形で外部/内部エンコーディングを指定します。
* :textmode 真を渡すと mode の "t" と同じ意味になります。
* :binmode 真を渡すと mode の "b" と同じ意味になります。
- * :autoclose 偽を渡すと close時/GCでのファイナライザ呼出時に fd を close しません。
-また、[[m:String#encode]] で説明されている :invalid => :replace などの
-変換オプションも指定することができます。外部エンコーディングから
-内部エンコーディングへの変換をするときに用いられます。
+ * :autoclose 偽を渡すと close時/GCでのファイナライザ呼出時に fd を close しません。また、[[m:String#encode]] で説明されている :invalid => :replace などの変換オプションも指定することができます。外部エンコーディングから内部エンコーディングへの変換をするときに用いられます。
@param fd ファイルディスクリプタである整数を指定します。
@@ -355,13 +326,10 @@ IO.foreach("testfile", chomp: true) { |x| print "GOT ", x }
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
-ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
-ブロックの返り値がこのメソッドの返り値となります。
-ブロック終了時に IO オブジェクトがもし close されていないならば
+ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、ブロックの返り値がこのメソッドの返り値となります。ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
-得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
-できます。
+得られる2つの IO オブジェクトのエンコーディングを引数で指定することができます。
@param enc_str 読み込み側の外部エンコーディングを文字列で指定します。
文字列がコロンを挟んだ二つのエンコーディング名 "A:B" である場合
@@ -393,27 +361,21 @@ close します(close されていてるオブジェクトはそのままです)
--- popen(env = {}, [[cmdname, arg0], *args, execopt={}], mode = "r", opt={}) -> IO
--- popen(env = {}, [[cmdname, arg0], *args, execopt={}], mode = "r", opt={}){|f| ... } -> object
-サブプロセスを実行し、そのプロセスの標準入出力
-との間にパイプラインを確立します。生成したパイプを [[c:IO]] オブジェクトとして返します。
+サブプロセスを実行し、そのプロセスの標準入出力との間にパイプラインを確立します。生成したパイプを [[c:IO]] オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
-サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
-文字列の場合は、シェルを経由して子プロセスを実行し、
-配列の場合は、シェルを経由せずに子プロセスを実行します。
+サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。文字列の場合は、シェルを経由して子プロセスを実行し、配列の場合は、シェルを経由せずに子プロセスを実行します。
シェルを経由しない場合(上のシグネチャで cmdname を含む場合)には *args
-がサブプロセスの引数として使われます。この場合には *args はシェルでの
-ワイルドカード展開などはなされません。
+がサブプロセスの引数として使われます。この場合には *args はシェルでのワイルドカード展開などはなされません。
配列内に配列を指定することで、arg0(みせかけのプログラム名)を指定することができます。
-ブロックが与えられた場合は生成した IO オブジェクトを引数にブ
-ロックを実行し、ブロックの実行結果を返します。ブロックの実行後、生成したパイ
-プは自動的にクローズされます。
+ブロックが与えられた場合は生成した IO オブジェクトを引数にブロックを実行し、ブロックの実行結果を返します。ブロックの実行後、生成したパイプは自動的にクローズされます。
p IO.popen("cat", "r+") {|io|
io.puts "foo"
@@ -423,12 +385,7 @@ close します(close されていてるオブジェクトはそのままです)
# => "foo\n"
-opt でプロセス起動のためのオプションや、パイプ IO オブジェクトの属性(エンコーディングや
-読み書き能力)を指定することができます。
-プロセス起動のためのオプションは [[m:Kernel.#spawn]] と、
-パイプオブジェクトの属性の指定のオプションは [[m:IO.new]] と共通です。
-つまり、 :external_encoding や :unsetenv_others が指定できます。
-オプションの詳しい意味は [[m:Kernel.#spawn]] や [[m:IO.new]] を参照してください。
+opt でプロセス起動のためのオプションや、パイプ IO オブジェクトの属性(エンコーディングや読み書き能力)を指定することができます。プロセス起動のためのオプションは [[m:Kernel.#spawn]] と、パイプオブジェクトの属性の指定のオプションは [[m:IO.new]] と共通です。つまり、 :external_encoding や :unsetenv_others が指定できます。オプションの詳しい意味は [[m:Kernel.#spawn]] や [[m:IO.new]] を参照してください。
# nkfプロセスから得られる文字列を EUC-JP と指定する
# IO.new などと共通のオプションが指定できる
@@ -467,9 +424,7 @@ execopt ではエンコーディングなどは指定できません。
--- popen(env, "-", mode = "r", opt={}) -> IO
--- popen(env, "-", mode = "r", opt={}){|io| ... } -> object
-第一引数に文字列 "-" が指定された時、[[man:fork(2)]] を
-行い子プロセスの標準入出力との間にパイプラインを確立します。
-親プロセスでは IO オブジェクトを返し、子プロセスでは
+第一引数に文字列 "-" が指定された時、[[man:fork(2)]] を行い子プロセスの標準入出力との間にパイプラインを確立します。親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。
io = IO.popen("-", "r+")
@@ -483,10 +438,7 @@ nil を返します。
exit
end
-ブロックを与えられた場合、親プロセスでは生成した IO オブジェクトを引数に
-ブロックを実行し、その結果を返します。ブロックの実行後、生成したパイ
-プは自動的にクローズされます。
-子プロセスでは nil を引数にブロックを実行し終了します。
+ブロックを与えられた場合、親プロセスでは生成した IO オブジェクトを引数にブロックを実行し、その結果を返します。ブロックの実行後、生成したパイプは自動的にクローズされます。子プロセスでは nil を引数にブロックを実行し終了します。
p IO.popen("-", "r+") {|io|
if io # parent
@@ -500,8 +452,7 @@ nil を返します。
# => "child output: foo\n"
opt ではエンコーディングの設定やプロセス起動のためのオプションが指定できます。
-[[m:IO.new]] や [[m:Kernel.#spawn]] で指定できるものと共通なので
-詳しくはそちらを見てください。
+[[m:IO.new]] や [[m:Kernel.#spawn]] で指定できるものと共通なので詳しくはそちらを見てください。
@param env 環境変数を { 変数名 => 内容 } という形式の [[c:Hash]] で渡します。
@param mode オープンする IO ポートのモードを指定します。mode の詳細は [[m:Kernel.#open]] 参照して下さい。
@@ -518,8 +469,7 @@ length バイト分読み込んで返します。
既に EOF に達している場合は nil を返します。ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。例えば、IO.read(空ファイル) は "" を返します。
-引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして
-動作します。
+引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして動作します。
[[m:Kernel.#open]] と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
@@ -535,8 +485,7 @@ length バイト分読み込んで返します。
@raise ArgumentError length が負の場合に発生します。
-引数 opt で有効なキーと値は以下のとおりです。
-キーはいずれも Symbol オブジェクトです。
+引数 opt で有効なキーと値は以下のとおりです。キーはいずれも Symbol オブジェクトです。
: :encoding
@@ -598,11 +547,9 @@ path で指定されたファイルを全て読み込んで、その各行を要
テキスト読み込みメソッドとして動作します。
-limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
-切れないように余分に読み込む場合があります。
+limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
-opts でファイルを開くときのオプションを指定します。エンコーディングなど
-を指定できます。
+opts でファイルを開くときのオプションを指定します。エンコーディングなどを指定できます。
[[m:File.open]] と同様なのでそちらを参照してください。
@param path ファイル名を表す文字列か "|コマンド名" を指定します。
@@ -633,9 +580,7 @@ IO.readlines("testfile", chomp: true) # => ["line1", "line2,", "line3"]
[[man:select(2)]] を実行します。
-与えられた入力/出力/例外待ちの IO オブジェクトの中から準備ができたものを
-それぞれ配列にして、配列の配列として返します。
-タイムアウトした時には nil を返します。
+与えられた入力/出力/例外待ちの IO オブジェクトの中から準備ができたものをそれぞれ配列にして、配列の配列として返します。タイムアウトした時には nil を返します。
@param reads 入力待ちする [[c:IO]] オブジェクトの配列を渡します。
@@ -672,11 +617,9 @@ IO.readlines("testfile", chomp: true) # => ["line1", "line2,", "line3"]
--- sysopen(path, mode = "r", perm = 0666) -> Integer
-path で指定されるファイルをオープンし、ファイル記述子を返しま
-す。
+path で指定されるファイルをオープンし、ファイル記述子を返します。
-[[m:IO.for_fd]] などで IO オブジェクトにしない限り、このメソッ
-ドでオープンしたファイルをクローズする手段はありません。
+[[m:IO.for_fd]] などで IO オブジェクトにしない限り、このメソッドでオープンしたファイルをクローズする手段はありません。
@param path ファイル名を表す文字列を指定します。
@@ -695,17 +638,13 @@ IO.sysopen("testfile", "w+") # => 3
--- write(path, string, opt={}) -> Integer
--- write(path, string, offset=nil, opt={}) -> Integer
-path で指定されるファイルを開き、string を書き込み、
-閉じます。
+path で指定されるファイルを開き、string を書き込み、閉じます。
offset を指定するとその位置までシークします。
-offset を指定しないと、書き込みの末尾でファイルを
-切り捨てます。
+offset を指定しないと、書き込みの末尾でファイルを切り捨てます。
-引数最後のハッシュはファイルを開くときに使われます。
-エンコーディングなどを指定することができます。
-詳しくは [[m:IO.open]] を見てください。
+引数最後のハッシュはファイルを開くときに使われます。エンコーディングなどを指定することができます。詳しくは [[m:IO.open]] を見てください。
@param path ファイル名文字列
@param string 書き込む文字列
@@ -725,16 +664,13 @@ IO.read("testfile") # => "0123456789"
@see [[m:IO.binwrite]]
--- binwrite(path, string, offset=nil) -> Integer
-path で指定されるファイルを開き、string を書き込み、
-閉じます。
+path で指定されるファイルを開き、string を書き込み、閉じます。
-ファイルを開くときの mode が "rb:ASCII-8BIT" で、バイナリモードが有効
-である点以外は [[m:IO.write]] と同じです。
+ファイルを開くときの mode が "rb:ASCII-8BIT" で、バイナリモードが有効である点以外は [[m:IO.write]] と同じです。
offset を指定するとその位置までシークします。
-offset を指定しないと、書き込みの末尾でファイルを
-切り捨てます。
+offset を指定しないと、書き込みの末尾でファイルを切り捨てます。
@param path ファイル名文字列
@param string 書き込む文字列
@@ -768,8 +704,7 @@ puts IO.binread('white.txtmode.png', 16).unpack('C*').map {|c| '%02x' % c }.join
--- <<(object) -> self
-object を出力します。object が文字列でない時にはメソッ
-ド to_s を用いて文字列に変換します。
+object を出力します。object が文字列でない時にはメソッド to_s を用いて文字列に変換します。
以下のような << の連鎖を使うことができます。
@@ -785,8 +720,7 @@ object を出力します。object が文字列でない時にはメソッ
--- binmode -> self
-ストリームをバイナリモードにします。MSDOS などバイナリモードの存在
-する OS でのみ有効です。そうでない場合このメソッドは何もしません。
+ストリームをバイナリモードにします。MSDOS などバイナリモードの存在する OS でのみ有効です。そうでない場合このメソッドは何もしません。
バイナリモードから通常のモードに戻す方法は再オープンしかありません。
@@ -797,11 +731,9 @@ object を出力します。object が文字列でない時にはメソッ
--- clone -> IO
--- dup -> IO
-レシーバと同じ IO を参照する新しい IO オブジェクトを返します。
-参照しているファイル記述子は [[man:dup(2)]] されます。
+レシーバと同じ IO を参照する新しい IO オブジェクトを返します。参照しているファイル記述子は [[man:dup(2)]] されます。
-clone の際に self は一旦 [[m:IO#flush]] されます。
-フリーズした IO の clone は同様にフリーズされた IO を返しますが、
+clone の際に self は一旦 [[m:IO#flush]] されます。フリーズした IO の clone は同様にフリーズされた IO を返しますが、
dup は内容の等しいフリーズされていない IO を返します。
@raise IOError 既に close されていた場合に発生します。
@@ -820,12 +752,9 @@ clone_io.close
入出力ポートをクローズします。
-以後このポートに対して入出力を行うと例外 [[c:IOError]] が発生しま
-す。ガーベージコレクトの際にはクローズされていない IO ポートはクロー
-ズされます。
+以後このポートに対して入出力を行うと例外 [[c:IOError]] が発生します。ガーベージコレクトの際にはクローズされていない IO ポートはクローズされます。
#@# [[unknown:Traps:closeをGCにまかせる|trap::IO]]
-self がパイプでプロセスにつながっていれば、そのプロセスの終
-了を待ち合わせます。
+self がパイプでプロセスにつながっていれば、そのプロセスの終了を待ち合わせます。
#@since 2.3.0
既に close されていた場合には単に無視されます。
@@ -848,8 +777,7 @@ f.close
--- close_read -> nil
-読み込み用の IO を close します。主にパイプや読み書き両用に作成し
-た IO オブジェクトで使用します。
+読み込み用の IO を close します。主にパイプや読み書き両用に作成した IO オブジェクトで使用します。
#@since 2.3.0
既に close されていた場合には単に無視されます。
@@ -891,8 +819,7 @@ end
--- closed? -> bool
-self が完全に(読み込み用と書き込み用の両方が)クローズされている場合に true を返します。
-そうでない場合は false を返します。
+self が完全に(読み込み用と書き込み用の両方が)クローズされている場合に true を返します。そうでない場合は false を返します。
#@samplecode 例
IO.write("testfile", "test")
@@ -936,16 +863,14 @@ f.closed? # => true
--- each_line(rs, limit) -> Enumerator
#@end
-IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として
-与えられたブロックを実行します。
+IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[[c:Enumerator]] オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
-limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
-切れないように余分に読み込む場合があります。
+limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@@ -984,9 +909,7 @@ end
--- bytes {|ch| ... } -> self
--- bytes -> Enumerator
-このメソッドは obsolete です。
-代わりに [[m:IO#each_byte]] を使用してください。
-使用すると警告メッセージが表示されます。
+このメソッドは obsolete です。代わりに [[m:IO#each_byte]] を使用してください。使用すると警告メッセージが表示されます。
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
@@ -1023,15 +946,13 @@ IO の現在位置から 1 バイトずつ読み込み、それを整数とし
r, w = IO.pipe
r.eof? # 永久にブロックします。
-eof, eof? は入力バッファにデータを読み込むので、[[m:IO#sysread]] と同時に使うと正常に
-動作しません。
+eof, eof? は入力バッファにデータを読み込むので、[[m:IO#sysread]] と同時に使うと正常に動作しません。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
--- fcntl(cmd, arg = 0) -> Integer
-IOに対してシステムコール fcntl を実行します。
-機能の詳細は [[man:fcntl(2)]] を参照してください。
+IOに対してシステムコール fcntl を実行します。機能の詳細は [[man:fcntl(2)]] を参照してください。
fcntl(2) が返した整数を返します。
@param cmd IO に対するコマンドを、添付ライブラリ [[lib:fcntl]] が提供している定数で指定します。
@@ -1048,8 +969,7 @@ fcntl(2) が返した整数を返します。
--- fsync -> 0 | nil
書き込み用の IO に対して、システムコール [[man:fsync(2)]]
-を実行します。[[m:IO#flush]] を行ったあと、(OSレベルで)まだディスクに
-書き込まれていないメモリ上にあるデータをディスクに書き出します。
+を実行します。[[m:IO#flush]] を行ったあと、(OSレベルで)まだディスクに書き込まれていないメモリ上にあるデータをディスクに書き出します。
成功すれば 0 を返します。
[[man:fsync(2)]] がサポートされていない場合は nil を返します。
@@ -1080,8 +1000,7 @@ $stdout.fileno # => 1
IO ポートの内部バッファをフラッシュします。
#@since 2.2.0
-このメソッドを使ったとき、即座にメタデータを更新することは保証されません(特にWindowsで)。
-即座にメタデータも更新したいときは [[m:IO#fsync]] を使います。
+このメソッドを使ったとき、即座にメタデータを更新することは保証されません(特にWindowsで)。即座にメタデータも更新したいときは [[m:IO#fsync]] を使います。
#@end
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@@ -1139,10 +1058,7 @@ EOF に到達した時には nil を返します。
読み込んだ文字列を変数 [[m:$_]] にセットします。
[[m:IO#readline]] との違いは EOF での振る舞いのみです。
-limit で最大の読み込みバイト数を指定します。ただし
-ファイルのエンコーディングがマルチバイトエンコーディングである場合には
-読み込んだ文字列がマルチバイト文字の途中で切れないように
-数バイト余分に読み込む場合があります。
+limit で最大の読み込みバイト数を指定します。ただしファイルのエンコーディングがマルチバイトエンコーディングである場合には読み込んだ文字列がマルチバイト文字の途中で切れないように数バイト余分に読み込む場合があります。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@@ -1163,8 +1079,7 @@ limit で最大の読み込みバイト数を指定します。ただし
--- ioctl(cmd, arg = 0) -> Integer
-IO に対してシステムコール ioctl を実行し、その結果を返します。
-機能の詳細は [[man:ioctl(2)]] を参照してください。
+IO に対してシステムコール ioctl を実行し、その結果を返します。機能の詳細は [[man:ioctl(2)]] を参照してください。
@param cmd IO に対するコマンドを整数で指定します。どのようなコマンドが使えるかはプラットフォームに依存します。
@@ -1188,8 +1103,7 @@ File.new("/dev/tty").isatty # => true
--- lineno -> Integer
-現在の行番号を整数で返します。実際には [[m:IO#gets]] が呼ばれた回数です。
-改行以外のセパレータで gets が呼ばれた場合など、実際の行番号と異なる場合があります。
+現在の行番号を整数で返します。実際には [[m:IO#gets]] が呼ばれた回数です。改行以外のセパレータで gets が呼ばれた場合など、実際の行番号と異なる場合があります。
@raise IOError 読み込み用にオープンされていなければ発生します。
@@ -1223,8 +1137,7 @@ File.new("/dev/tty").isatty # => true
--- pid -> Integer | nil
-自身が [[m:IO.popen]] で作られたIOポートなら、子プロセスのプロセス ID を
-返します。それ以外は nil を返します。
+自身が [[m:IO.popen]] で作られたIOポートなら、子プロセスのプロセス ID を返します。それ以外は nil を返します。
@raise IOError 既に close されている場合に発生します。
@@ -1290,8 +1203,7 @@ $stdout.print("This is ", 100, " percent.\n") # => This is 100 percent.
--- printf(format, *arg) -> nil
-C 言語の printf と同じように、format に従い引数
-を文字列に変換して、self に出力します。
+C 言語の printf と同じように、format に従い引数を文字列に変換して、self に出力します。
第一引数に IO を指定できないこと、引数を省略できないことを除けば [[m:Kernel.#printf]] と同じです。
@@ -1309,9 +1221,7 @@ C 言語の printf と同じように、format に従い引数
--- putc(ch) -> object
-文字 ch を self に出力します。
-引数の扱いは [[m:Kernel.#putc]] と同じです。詳細はこちらを参照し
-てください。ch を返します。
+文字 ch を self に出力します。引数の扱いは [[m:Kernel.#putc]] と同じです。詳細はこちらを参照してください。ch を返します。
@param ch 出力したい文字を、文字列か文字コード(整数)で与えます。
@@ -1328,9 +1238,7 @@ $stdout.putc 65 # => A
--- puts(*obj) -> nil
-各 obj を self に出力し、それぞれの後に改行を出力します。
-引数の扱いは [[m:Kernel.#puts]] と同じです。詳細はこちらを参照し
-てください。
+各 obj を self に出力し、それぞれの後に改行を出力します。引数の扱いは [[m:Kernel.#puts]] と同じです。詳細はこちらを参照してください。
@param obj 出力したいオブジェクトを指定します。[[m:Kernel.#puts]] と同じです。
@@ -1355,11 +1263,7 @@ $stdout.putc 65 # => A
length バイト読み込んで、その文字列を返します。
-引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして
-動作します。
-既に EOF に達していれば nil を返します。
-ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。
-例えば、open(空ファイル) {|f| f.read } は "" となります。
+引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして動作します。既に EOF に達していれば nil を返します。ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。例えば、open(空ファイル) {|f| f.read } は "" となります。
@param length 読み込むサイズを整数で指定します。
nil が指定された場合、EOF までの全てのデータを読み込んで、その文字列を返します。
@@ -1426,8 +1330,7 @@ EOF に到達した時には EOFError が発生します。
読み込んだ文字列を変数 [[m:$_]] にセットします。[[m:IO#gets]] との違いは EOF での振る舞いのみです。
-limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
-切れないように余分に読み込む場合があります。
+limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@param limit 最大の読み込みバイト数
@@ -1457,13 +1360,11 @@ limit で最大読み込みバイト数を指定します。ただしマルチ
--- readlines(rs, limit) -> [String]
#@end
-データを全て読み込んで、その各行を要素としてもつ配列を返します。
-既に EOF に達していれば空配列 [] を返します。
+データを全て読み込んで、その各行を要素としてもつ配列を返します。既に EOF に達していれば空配列 [] を返します。
テキスト読み込みメソッドとして動作します。
-limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
-切れないように余分に読み込む場合があります。
+limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@@ -1482,19 +1383,15 @@ limit で最大読み込みバイト数を指定します。ただしマルチ
--- read_nonblock(maxlen, outbuf = nil) -> String
#@end
-IO をノンブロッキングモードに設定し、
-その後で [[man:read(2)]] システムコールにより
-長さ maxlen を上限として読み込み、文字列として返します。
+IO をノンブロッキングモードに設定し、その後で [[man:read(2)]] システムコールにより長さ maxlen を上限として読み込み、文字列として返します。
EAGAIN, EINTR などは [[c:Errno::EXXX]] 例外として呼出元に報告されます。
-発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
-その例外オブジェクトに [[c:IO::WaitReadable]] が [[m:Object#extend]]
+発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、その例外オブジェクトに [[c:IO::WaitReadable]] が [[m:Object#extend]]
されます。
なお、バッファが空でない場合は、read_nonblock はバッファから読み込みます。この場合、read(2) システムコールは呼ばれません。
-このメソッドはノンブロッキングモードにする点を除いて [[m:IO#readpartial]] と
-同じであることに注意してください。
+このメソッドはノンブロッキングモードにする点を除いて [[m:IO#readpartial]] と同じであることに注意してください。
バイナリ読み込みメソッドとして動作します。
@@ -1522,22 +1419,17 @@ EAGAIN, EINTR などは [[c:Errno::EXXX]] 例外として呼出元に報告さ
--- readpartial(maxlen, outbuf = "") -> String
-IO から長さ maxlen を上限として読み込み、文字列として返します。
-即座に得られるデータが存在しないときにはブロックしてデータの到着を待ちます。
-即座に得られるデータが 1byte でも存在すればブロックしません。
+IO から長さ maxlen を上限として読み込み、文字列として返します。即座に得られるデータが存在しないときにはブロックしてデータの到着を待ちます。即座に得られるデータが 1byte でも存在すればブロックしません。
バイナリ読み込みメソッドとして動作します。
-既に EOF に達していれば EOFError が発生します。
-ただし、maxlen に 0 が指定されている場合は、空文字列 "" を返します。
+既に EOF に達していれば EOFError が発生します。ただし、maxlen に 0 が指定されている場合は、空文字列 "" を返します。
-readpartial はブロックを最小限に抑えることによって、
-パイプ、ソケット、端末などのストリームに対して適切に動作するよう設計されています。
+readpartial はブロックを最小限に抑えることによって、パイプ、ソケット、端末などのストリームに対して適切に動作するよう設計されています。
readpartial がブロックするのは次の全ての条件が満たされたときだけです。
* IO オブジェクト内のバッファが空
* ストリームにデータが到着していない
- * ストリームが EOF になっていない
-これらの条件が満たされる場合、何らかのデータが到着するか EOF になるまで readpartial はブロックします。
+ * ストリームが EOF になっていないこれらの条件が満たされる場合、何らかのデータが到着するか EOF になるまで readpartial はブロックします。
readpartial の結果は以下のようになります。
(1) バッファが空でなければ、そのバッファのデータを読み込んで返します。
@@ -1564,12 +1456,9 @@ readpartial の結果は以下のようになります。
r.readpartial(4096) #=> "def\n" "" "ghi\n"
r.readpartial(4096) #=> "ghi\n" "" ""
-なお、readpartial は nonblock フラグに影響されません。
-つまり、nonblock フラグが設定されていて sysread であれば Errno::EAGAIN になる場合でもブロックします。
+なお、readpartial は nonblock フラグに影響されません。つまり、nonblock フラグが設定されていて sysread であれば Errno::EAGAIN になる場合でもブロックします。
-また、readpartial の挙動は sysread によく似ています。
-とくに、バッファが空の場合には同じ挙動を示します。
-ただし、EAGAIN および EINTR エラーは内部で発生したとしても通知されず、データが到着するまでブロックし続けます。
+また、readpartial の挙動は sysread によく似ています。とくに、バッファが空の場合には同じ挙動を示します。ただし、EAGAIN および EINTR エラーは内部で発生したとしても通知されず、データが到着するまでブロックし続けます。
@param maxlen 読み込む長さの上限を整数で指定します。
@@ -1653,8 +1542,7 @@ offset 位置への移動が成功すれば 0 を返します。
--- stat -> File::Stat
-ファイルのステータスを含む [[c:File::Stat]] オブジェクトを生成して
-返します。
+ファイルのステータスを含む [[c:File::Stat]] オブジェクトを生成して返します。
@raise Errno::EXXX ステータスの読み込みに失敗した場合に発生します。
@@ -1698,9 +1586,7 @@ end
--- sysread(maxlen, outbuf = "") -> String
-[[man:read(2)]] を用いて入力を行ない、入力されたデータを
-含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作
-をすることがあります。
+[[man:read(2)]] を用いて入力を行ない、入力されたデータを含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作をすることがあります。
バイナリ読み込みメソッドとして動作します。
@@ -1720,8 +1606,7 @@ end
@raise Errno::EXXX データの読み込みに失敗した場合に発生します。
-第二引数を指定した sysread の呼び出しでデータが空であった場
-合(sysread が例外 [[c:EOFError]] を発生させる場合)、
+第二引数を指定した sysread の呼び出しでデータが空であった場合(sysread が例外 [[c:EOFError]] を発生させる場合)、
outbuf は空文字列になります。
outbuf = "x" * 20;
@@ -1734,8 +1619,7 @@ outbuf は空文字列になります。
--- sysseek(offset, whence = IO::SEEK_SET) -> Integer
[[man:lseek(2)]] と同じです。[[m:IO#seek]] では、
-[[m:IO#sysread]], [[m:IO#syswrite]] と併用すると正しく動作しないので代わりにこのメソッドを使います。
-位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。
+[[m:IO#sysread]], [[m:IO#syswrite]] と併用すると正しく動作しないので代わりにこのメソッドを使います。位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。
書き込み用にバッファリングされた IO に対して実行すると警告が出ます。
@@ -1777,11 +1661,9 @@ outbuf は空文字列になります。
--- syswrite(string) -> Integer
[[man:write(2)]] を用いて string を出力します。
-string が文字列でなければ to_s による文字列化を試みます。
-実際に出力できたバイト数を返します。
+string が文字列でなければ to_s による文字列化を試みます。実際に出力できたバイト数を返します。
-stdio を経由しないので他の出力メソッドと混用すると思わぬ動作
-をすることがあります。
+stdio を経由しないので他の出力メソッドと混用すると思わぬ動作をすることがあります。
@param string 自身に書き込みたい文字列を指定します。
@@ -1823,13 +1705,10 @@ self を返します。
--- write(str) -> Integer
#@end
-IOポートに対して str を出力します。str が文字列でなけ
-れば to_s による文字列化を試みます。
-実際に出力できたバイト数を返します。
+IOポートに対して str を出力します。str が文字列でなければ to_s による文字列化を試みます。実際に出力できたバイト数を返します。
[[m:IO#syswrite]] を除く全ての出力メソッドは、最終的に
-"write" という名のメソッドを呼び出すので、このメソッドを置き換える
-ことで出力関数の挙動を変更することができます。
+"write" という名のメソッドを呼び出すので、このメソッドを置き換えることで出力関数の挙動を変更することができます。
#@##@since 1.8.0
#@#以前は [[m:Kernel.#putc]],
#@#[[m:IO#putc]] に対してだけこのことは適用されませんでした
@@ -1853,13 +1732,10 @@ IO をノンブロッキングモードに設定し、string を [[man:write(2)]
write(2) が成功した場合、書き込んだ長さを返します。
EAGAIN, EINTR などは例外 [[c:Errno::EXXX]] として呼出元に報告されます。
-書き込んだバイト数(つまり返り値)は [[m:String#bytesize]] の
-値より小さい可能性があります。
+書き込んだバイト数(つまり返り値)は [[m:String#bytesize]] の値より小さい可能性があります。
-発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
-その例外オブジェクトに [[c:IO::WaitWritable]] が [[m:Object#extend]]
-されます。よって IO::WaitWritable を write_nonblock のリトライが必要
-かの判定に用いることができます。
+発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、その例外オブジェクトに [[c:IO::WaitWritable]] が [[m:Object#extend]]
+されます。よって IO::WaitWritable を write_nonblock のリトライが必要かの判定に用いることができます。
@param string 自身に書き込みたい文字列を指定します。
@@ -1875,13 +1751,9 @@ EAGAIN, EINTR などは例外 [[c:Errno::EXXX]] として呼出元に報告さ
#@since 2.5.0
--- pread(maxlen, offset, outbuf = "") -> string
-preadシステムコールを使ってファイルポインタを変更せずに、また現在のファイルポインタに
-依存せずにmaxlenバイト読み込みます。
+preadシステムコールを使ってファイルポインタを変更せずに、また現在のファイルポインタに依存せずにmaxlenバイト読み込みます。
-[[m:IO#seek]]と[[m:IO#read]]の組み合わせと比べて、アトミックな操作に
-なるという点が優れていて、複数スレッド/プロセスから同じIOオブジェクトを
-様々な位置から読み込むことを許します。
-どのユーザー空間のIO層のバッファリングもバイパスします。
+[[m:IO#seek]]と[[m:IO#read]]の組み合わせと比べて、アトミックな操作になるという点が優れていて、複数スレッド/プロセスから同じIOオブジェクトを様々な位置から読み込むことを許します。どのユーザー空間のIO層のバッファリングもバイパスします。
@param maxlen 読み込むバイト数を指定します。
@param offset 読み込み開始位置のファイルの先頭からのオフセットを指定します。
@@ -1902,10 +1774,7 @@ preadシステムコールを使ってファイルポインタを変更せずに
--- pwrite(string, offset) -> Integer
stringをoffsetの位置にpwrite()システムコールを使って書き込みます。
-[[m:IO#seek]]と[[m:IO#write]]の組み合わせと比べて、アトミックな操作に
-なるという点が優れていて、複数スレッド/プロセスから同じIOオブジェクトを
-様々な位置から読み込むことを許します。
-どのユーザー空間のIO層のバッファリングもバイパスします。
+[[m:IO#seek]]と[[m:IO#write]]の組み合わせと比べて、アトミックな操作になるという点が優れていて、複数スレッド/プロセスから同じIOオブジェクトを様々な位置から読み込むことを許します。どのユーザー空間のIO層のバッファリングもバイパスします。
@param string 書き込む文字列を指定します。
@param offset ファイルポインタを変えずに書き込む位置を指定します。
@@ -1930,21 +1799,18 @@ stringをoffsetの位置にpwrite()システムコールを使って書き込み
--- lines(limit) -> Enumerator
--- lines(rs, limit) -> Enumerator
-このメソッドは obsolete です。
-代わりに [[m:IO#each_line]] を使用してください。
+このメソッドは obsolete です。代わりに [[m:IO#each_line]] を使用してください。
使用すると警告メッセージが表示されます。
-IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として
-与えられたブロックを実行します。
+IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
[[c:Enumerator]] オブジェクトを返します。
テキスト読み込みメソッドとして動作します。
-limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
-切れないように余分に読み込む場合があります。
+limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
@@ -1959,8 +1825,7 @@ limit で最大読み込みバイト数を指定します。ただしマルチ
--- getbyte -> Integer | nil
-IO から1バイトを読み込み整数として返します。
-既に EOF に達していれば nil を返します。
+IO から1バイトを読み込み整数として返します。既に EOF に達していれば nil を返します。
f = File.new("testfile")
f.getbyte #=> 84
@@ -1968,8 +1833,7 @@ IO から1バイトを読み込み整数として返します。
--- readbyte -> Integer
-IO から1バイトを読み込み整数として返します。
-既に EOF に達していれば EOFError が発生します。
+IO から1バイトを読み込み整数として返します。既に EOF に達していれば EOFError が発生します。
@raise EOFError 既に EOF に達している場合に発生します。
@@ -1990,8 +1854,7 @@ self は読み込み用にオープンされていなければなりません。
--- chars{|c| ... } -> self
--- chars -> Enumerator
-このメソッドは obsolete です。
-代わりに [[m:IO#each_char]] を使用してください。
+このメソッドは obsolete です。代わりに [[m:IO#each_char]] を使用してください。
使用すると警告メッセージが表示されます。
@@ -2050,8 +1913,7 @@ close します。
@see [[m:IO#close_on_exec?]]
--- close_on_exec? -> bool
-自身に close-on-exec フラグが設定されていた場合 true を返します。
-そうでない場合に false を返します。
+自身に close-on-exec フラグが設定されていた場合 true を返します。そうでない場合に false を返します。
f = open("/dev/null")
f.close_on_exec? #=> true
@@ -2064,14 +1926,11 @@ close します。
--- external_encoding -> Encoding | nil
-IO の外部エンコーディングを返します。
-外部エンコーディングが指定されていない場合は nil を返します。
-ただし読み込み専用モードの場合は [[m:Encoding.default_external]] になります。
+IO の外部エンコーディングを返します。外部エンコーディングが指定されていない場合は nil を返します。ただし読み込み専用モードの場合は [[m:Encoding.default_external]] になります。
--- internal_encoding -> Encoding | nil
-IO の内部エンコーディングを返します。
-内部エンコーディングが指定されていない場合は nil を返します。
+IO の内部エンコーディングを返します。内部エンコーディングが指定されていない場合は nil を返します。
--- set_encoding(enc_str, opt={}) -> self
--- set_encoding(ext_enc) -> self
@@ -2082,15 +1941,11 @@ IO のエンコーディングを設定します。
引数が "A:B" のようにコロンで区切られた文字列の場合は、
A を外部エンコーディング、 B を内部エンコーディングに指定します。
-引数が一つで、上のような形式でない場合には、
-それが外部エンコーディングと見なされます。
+引数が一つで、上のような形式でない場合には、それが外部エンコーディングと見なされます。
-引数が2つの場合はそのそれぞれを外部エンコーディング、内部エンコーディング
-に設定します。
+引数が2つの場合はそのそれぞれを外部エンコーディング、内部エンコーディングに設定します。
-opt のハッシュで外部エンコーディングを内部エンコーディングに変換する際の
-オプションを指定します。
-詳しくは [[m:String#encode]] を参照してください。
+opt のハッシュで外部エンコーディングを内部エンコーディングに変換する際のオプションを指定します。詳しくは [[m:String#encode]] を参照してください。
@param enc_str エンコーディングを表す文字列を指定します。"A:B" のようにコロンで区切られた
文字列を指定した場合 A が外部エンコーディング、B が内部エンコーディングを
@@ -2099,8 +1954,7 @@ opt のハッシュで外部エンコーディングを内部エンコーディ
@param ext_enc 外部エンコーディングを表す文字列か [[c:Encoding]] オブジェクトを指定します。
@param int_enc 内部エンコーディングを表す文字列か [[c:Encoding]] オブジェクトを指定します。
-@param opt エンコーディング変換のオプション
-例:
+@param opt エンコーディング変換のオプション例:
io = File.open(file)
io.set_encoding("ASCII-8BIT", "EUC-JP")
@@ -2109,8 +1963,7 @@ opt のハッシュで外部エンコーディングを内部エンコーディ
auto-close フラグを設定します。
フラグが設定されているオブジェクトは
-close時/GCでのファイナライザ呼出時にファイルデスクリプタを close します。
-設定されていない場合は close しません。
+close時/GCでのファイナライザ呼出時にファイルデスクリプタを close します。設定されていない場合は close しません。
@param bool 真偽値でフラグを設定します
@see [[m:IO#autoclose?]]
@@ -2142,8 +1995,7 @@ IO の各コードポイントに対して繰り返しブロックを呼びだ
--- codepoints{|c| ... } -> self
--- codepoints -> Enumerator
-このメソッドは obsolete です。
-代わりに [[m:IO#each_codepoint]] を使用してください。
+このメソッドは obsolete です。代わりに [[m:IO#each_codepoint]] を使用してください。
使用すると警告メッセージが表示されます。
@@ -2182,8 +2034,7 @@ end
--- advise(advice, offset=0, len=0) -> nil
-[[man:posix_fadvise(2)]] を呼びだし、
-ファイルへのアクセスパターンをOSに知らせます。
+[[man:posix_fadvise(2)]] を呼びだし、ファイルへのアクセスパターンをOSに知らせます。
advice には以下のいずれかのシンボルを指定します。
* :normal - デフォルト
@@ -2191,16 +2042,12 @@ advice には以下のいずれかのシンボルを指定します。
* :random - データはランダムアクセスされる
* :willneed - データはこの直後にアクセスされる
* :dontneed - データは直後にはアクセスしない
- * :noreuse - データは一度しかアクセスされない
-これらの advice が具体的に何をするのかはプラットフォーム依存です。
+ * :noreuse - データは一度しかアクセスされないこれらの advice が具体的に何をするのかはプラットフォーム依存です。
ここでいう「データ」は offset と len で特定することができます。
-len が 0 ならば、offset からファイル末尾までを指定したことになります。
-デフォルトでは offset と len がともに 0 なので、
-ファイル全体を指定したことになります。
+len が 0 ならば、offset からファイル末尾までを指定したことになります。デフォルトでは offset と len がともに 0 なので、ファイル全体を指定したことになります。
-posix_fadvise をサポートしていないプラットフォーム上では
-何もしません。
+posix_fadvise をサポートしていないプラットフォーム上では何もしません。
@param advice アクセスパターンを表すシンボル
@param offset パターンを指定するデータの先頭位置
diff --git a/refm/api/src/_builtin/Integer b/refm/api/src/_builtin/Integer
index 1cd726b1..4adf5999 100644
--- a/refm/api/src/_builtin/Integer
+++ b/refm/api/src/_builtin/Integer
@@ -9,10 +9,7 @@ alias Bignum
整数オブジェクトに特異メソッドを追加する事はできません。追加した場合、
[[c:TypeError]] が発生します。
#@else
-整数の抽象クラスです。サブクラスとして [[c:Fixnum]] と [[c:Bignum]] が
-あります。この 2 種類の整数は値の大きさに応じてお互いに自動的に変換さ
-れます。ビット操作において整数は無限の長さのビットストリングとみなすこ
-とができます。
+整数の抽象クラスです。サブクラスとして [[c:Fixnum]] と [[c:Bignum]] があります。この 2 種類の整数は値の大きさに応じてお互いに自動的に変換されます。ビット操作において整数は無限の長さのビットストリングとみなすことができます。
#@end
2.4.0 から [[c:Fixnum]], [[c:Bignum]] は Integerに統合されました。
@@ -23,8 +20,7 @@ alias Bignum
#@since 2.5.0
--- sqrt(n) -> Integer
-非負整数 n の整数の平方根を返します。すなわち n の平方根以下の
-最大の非負整数を返します。
+非負整数 n の整数の平方根を返します。すなわち n の平方根以下の最大の非負整数を返します。
@param n 非負整数。Integer ではない場合は、最初に Integer に変換されます。
@raise Math::DomainError n が負の整数の時に発生します。
@@ -37,8 +33,7 @@ Integer.sqrt(25) # => 5
Integer.sqrt(10**400) == 10**200 # => true
#@end
-Math.sqrt(n).floor と同等ですが、後者は浮動小数点数の制度の限界によって
-真の値とは違う結果になることがあります。
+Math.sqrt(n).floor と同等ですが、後者は浮動小数点数の制度の限界によって真の値とは違う結果になることがあります。
#@samplecode
Integer.sqrt(10**46) #=> 100000000000000000000000
@@ -66,8 +61,7 @@ Math.sqrt(10**46).floor #=> 99999999999999991611392 (!)
--- chr -> String
--- chr(encoding) -> String
-与えられたエンコーディング encoding において self を文字コードと見た時、それに対応する一文字からなる文字列を返します。
-引数無しで呼ばれた場合は self を US-ASCII、ASCII-8BIT、デフォルト内部エンコーディングの順で優先的に解釈します。
+与えられたエンコーディング encoding において self を文字コードと見た時、それに対応する一文字からなる文字列を返します。引数無しで呼ばれた場合は self を US-ASCII、ASCII-8BIT、デフォルト内部エンコーディングの順で優先的に解釈します。
p 65.chr # => "A"
p 0x79.chr.encoding # => #<Encoding:US_ASCII>
@@ -335,8 +329,7 @@ self ともっとも近い整数を返します。
整数を 10 進文字列表現に変換します。
#@since 1.8.0
-引数を指定すれば、それを基数とした文字列表
-現に変換します。
+引数を指定すれば、それを基数とした文字列表現に変換します。
p 10.to_s(2) # => "1010"
p 10.to_s(8) # => "12"
@@ -387,8 +380,7 @@ self > max であれば何もしません。
#@since 1.8.7
--- even? -> bool
-自身が偶数であれば真を返します。
-そうでない場合は偽を返します。
+自身が偶数であれば真を返します。そうでない場合は偽を返します。
例:
@@ -397,8 +389,7 @@ self > max であれば何もしません。
--- odd? -> bool
-自身が奇数であれば真を返します。
-そうでない場合は偽を返します。
+自身が奇数であれば真を返します。そうでない場合は偽を返します。
例:
@@ -551,8 +542,7 @@ self が [[c:Float]] の範囲に収まらない場合、[[m:Float::INFINITY]]
--- <=>(other) -> -1 | 0 | 1 | nil
-self と other を比較して、self が大きい時に1、等しい時に 0、小さい時
-に-1、比較できない時に nil を返します。
+self と other を比較して、self が大きい時に1、等しい時に 0、小さい時に-1、比較できない時に nil を返します。
@param other 比較対象の数値
@return -1 か 0 か 1 のいずれか
@@ -655,8 +645,7 @@ r の符号は self と同じになります。
--- divmod(other) -> [Integer, Numeric]
-self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし
-て返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
+self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にして返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
@param other self を割る数。
@@ -664,9 +653,7 @@ self を other で割った商 q と余り r を、 [q, r] という 2 要素の
--- fdiv(other) -> Numeric
-self を other で割った商を [[c:Float]] で返します。
-ただし [[c:Complex]] が関わる場合は例外です。
-その場合も成分は Float になります。
+self を other で割った商を [[c:Float]] で返します。ただし [[c:Complex]] が関わる場合は例外です。その場合も成分は Float になります。
@param other self を割る数を指定します。
@@ -887,8 +874,7 @@ bitsが実数の場合、小数点以下を切り捨てた値でシフトしま
self を表すのに必要なビット数を返します。
-「必要なビット数」とは符号ビットを除く最上位ビットの位置の事を意味しま
-す。2**n の場合は n+1 になります。self にそのようなビットがない(0 や
+「必要なビット数」とは符号ビットを除く最上位ビットの位置の事を意味します。2**n の場合は n+1 になります。self にそのようなビットがない(0 や
-1 である)場合は 0 を返します。
例: ceil(log2(int < 0 ? -int : int+1)) と同じ結果
diff --git a/refm/api/src/_builtin/Kernel b/refm/api/src/_builtin/Kernel
index fccb83fa..25d299eb 100644
--- a/refm/api/src/_builtin/Kernel
+++ b/refm/api/src/_builtin/Kernel
@@ -4,8 +4,7 @@
[[c:Object]] クラスはこのモジュールをインクルードしています。
#@#[[unknown:組み込み関数]]の項で解説されているメソッドはこのモジュールで定義されています。
-[[c:Object]] クラスのメソッドは実際にはこのモジュールで定義されていま
-す。これはトップレベルでのメソッドの再定義に対応するためです。
+[[c:Object]] クラスのメソッドは実際にはこのモジュールで定義されています。これはトップレベルでのメソッドの再定義に対応するためです。
#@include(functions)
#@include(specialvars)
diff --git a/refm/api/src/_builtin/KeyError b/refm/api/src/_builtin/KeyError
index b322c70b..766249dd 100644
--- a/refm/api/src/_builtin/KeyError
+++ b/refm/api/src/_builtin/KeyError
@@ -2,8 +2,7 @@
[[m:Hash#fetch]] などで key に対応する value がない場合に発生します。
-Ruby 1.8 以前では同様の場面で [[c:IndexError]] が発生していました。
-互換性のため、[[c:KeyError]] は [[c:IndexError]] のサブクラスになっています。
+Ruby 1.8 以前では同様の場面で [[c:IndexError]] が発生していました。互換性のため、[[c:KeyError]] は [[c:IndexError]] のサブクラスになっています。
#@since 2.5.0
== Instance Methods
diff --git a/refm/api/src/_builtin/LocalJumpError b/refm/api/src/_builtin/LocalJumpError
index e962ca01..77446130 100644
--- a/refm/api/src/_builtin/LocalJumpError
+++ b/refm/api/src/_builtin/LocalJumpError
@@ -1,7 +1,6 @@
= class LocalJumpError < StandardError
-ある [[c:Proc]] オブジェクトの作成元スコープがすでに終了しているとき、
-その [[c:Proc]] オブジェクト内で
+ある [[c:Proc]] オブジェクトの作成元スコープがすでに終了しているとき、その [[c:Proc]] オブジェクト内で
return, break, retry のいずれかを実行すると発生します。
[[c:Proc]] の例を参照してください。
diff --git a/refm/api/src/_builtin/Marshal b/refm/api/src/_builtin/Marshal
index 6326c30a..f1ccd9f6 100644
--- a/refm/api/src/_builtin/Marshal
+++ b/refm/api/src/_builtin/Marshal
@@ -1,12 +1,10 @@
= module Marshal
-Ruby オブジェクトをファイル(または文字列)に書き出したり、読み戻したり
-する機能を提供するモジュール。
+Ruby オブジェクトをファイル(または文字列)に書き出したり、読み戻したりする機能を提供するモジュール。
大部分のクラスのインスタンスを書き出す事ができますが、書き出しの不可能なクラスも存在します([[m:Marshal.#dump]] を参照)。
-ここで「マーシャルデータ」と言う用語は、[[m:Marshal.#dump]] が出力する文字列
-を指すものとします。
+ここで「マーシャルデータ」と言う用語は、[[m:Marshal.#dump]] が出力する文字列を指すものとします。
== Module Functions
@@ -15,9 +13,7 @@ Ruby オブジェクトをファイル(または文字列)に書き出したり
obj を指定された出力先に再帰的に出力します。
-ファイルに書き出せないオブジェクトをファイルに書き出そうとすると
-例外 [[c:TypeError]] が発生します。
-ファイルに書き出せないオブジェクトは以下の通りです。
+ファイルに書き出せないオブジェクトをファイルに書き出そうとすると例外 [[c:TypeError]] が発生します。ファイルに書き出せないオブジェクトは以下の通りです。
* 名前のついてない [[c:Class]]/[[c:Module]] オブジェクト。(この場
合は、例外 [[c:ArgumentError]] が発生します。無名クラスについて
@@ -30,8 +26,7 @@ obj を指定された出力先に再帰的に出力します。
のインスタンス。
* 特異メソッドを定義したオブジェクト
-また、これらのオブジェクトを間接的に指すオブジェクトなども書き出せ
-ません。例えば、デフォルト値を求めるブロックを持った [[c:Hash]] は
+また、これらのオブジェクトを間接的に指すオブジェクトなども書き出せません。例えば、デフォルト値を求めるブロックを持った [[c:Hash]] は
[[c:Proc]] を間接的に指していることになります。
p Marshal.dump(Hash.new {})
@@ -64,11 +59,9 @@ obj を指定された出力先に再帰的に出力します。
--- load(port, proc = nil) -> object
--- restore(port, proc = nil) -> object
-port からマーシャルデータを読み込んで、元のオブジェクトと同
-じ状態をもつオブジェクトを生成します。
+port からマーシャルデータを読み込んで、元のオブジェクトと同じ状態をもつオブジェクトを生成します。
-proc として手続きオブジェクトが与えられた場合には読み込んだ
-オブジェクトを引数にその手続きを呼び出します。
+proc として手続きオブジェクトが与えられた場合には読み込んだオブジェクトを引数にその手続きを呼び出します。
str = Marshal.dump(["a", 1, 10 ** 10, 1.0, :foo])
p Marshal.load(str, proc {|obj| p obj})
@@ -97,14 +90,12 @@ proc として手続きオブジェクトが与えられた場合には読み込
[[m:Marshal.#dump]] が出力するデータフォーマットのバージョン番号です。
-[[m:Marshal.#load]] は、メジャーバージョンが異なるか、バージョンの大きな
-マーシャルデータを読み込んだとき例外 [[c:TypeError]] を発生させます。
+[[m:Marshal.#load]] は、メジャーバージョンが異なるか、バージョンの大きなマーシャルデータを読み込んだとき例外 [[c:TypeError]] を発生させます。
マイナーバージョンが古いだけのフォーマットは読み込み可能ですが、
[[m:$VERBOSE]] = true のときには警告メッセージが出力されます
-マーシャルされたデータのバージョン番号は以下のようにして取得するこ
-とができます。
+マーシャルされたデータのバージョン番号は以下のようにして取得することができます。
obj = Object.new
major, minor = Marshal.dump(obj).unpack("cc")
diff --git a/refm/api/src/_builtin/MatchData b/refm/api/src/_builtin/MatchData
index c78ac2d0..bf8b40b7 100644
--- a/refm/api/src/_builtin/MatchData
+++ b/refm/api/src/_builtin/MatchData
@@ -15,8 +15,7 @@
n 番目の部分文字列を返します。
0 はマッチ全体を意味します。
-n の値が負の時には末尾からのインデックスと見倣します(末尾の
-要素が -1 番目)。n 番目の要素が存在しない時には nil を返します。
+n の値が負の時には末尾からのインデックスと見倣します(末尾の要素が -1 番目)。n 番目の要素が存在しない時には nil を返します。
@param n 返す部分文字列のインデックスを指定します。
@@ -100,8 +99,7 @@ n 番目の部分文字列がマッチしていなければ nil を返します
[[m:$1]], [[m:$2]], ... を格納した配列を返します。
-[[m:MatchData#to_a]] と異なり [[m:$&]] を要素に含みません。
-グループにマッチした部分文字列がなければ対応する要素は nil になります。
+[[m:MatchData#to_a]] と異なり [[m:$&]] を要素に含みません。グループにマッチした部分文字列がなければ対応する要素は nil になります。
/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.to_a # => ["foobar", "foo", "bar", nil]
@@ -123,8 +121,7 @@ n 番目の部分文字列がマッチしていなければ nil を返します
--- offset(n) -> [Integer]
-n 番目の部分文字列のオフセットの配列 [start, end] を返
-します。
+n 番目の部分文字列のオフセットの配列 [start, end] を返します。
[ self.begin(n), self.end(n) ]
@@ -164,15 +161,12 @@ n 番目の部分文字列のオフセットの配列 [start, end] を返
#@until 1.8.1
引数が指定された場合は、正規表現中の n 番目の括弧にマッチした部分文字列の配列を返します。
-ブロックを与えられた場合は、
-各要素に対してブロックを評価した値が真であった要素を全て含む配列を
-返します。真になる要素がひとつもなかった場合は空の配列を返します。
+ブロックを与えられた場合は、各要素に対してブロックを評価した値が真であった要素を全て含む配列を返します。真になる要素がひとつもなかった場合は空の配列を返します。
@param index インデックスを整数で 0 個以上指定します。
#@else
-各要素に対してブロックを評価した値が真であった要素を全て含む配列を
-返します。真になる要素がひとつもなかった場合は空の配列を返します。
+各要素に対してブロックを評価した値が真であった要素を全て含む配列を返します。真になる要素がひとつもなかった場合は空の配列を返します。
self.to_a.select { ... } と同じです。
@@ -275,14 +269,12 @@ self.regexp.names と同じです。
#@since 1.9.2
--- hash -> Integer
-self のマッチ対象になった文字列、元になった正規表現オブジェクト、マッチ
-した位置を元にハッシュ値を計算して返します。
+self のマッチ対象になった文字列、元になった正規表現オブジェクト、マッチした位置を元にハッシュ値を計算して返します。
--- eql?(other) -> bool
--- ==(other) -> bool
-self と other のマッチ対象になった文字列、元になった正規表現オブジェク
-ト、マッチした位置が等しければ true を返します。そうでない場合には
+self と other のマッチ対象になった文字列、元になった正規表現オブジェクト、マッチした位置が等しければ true を返します。そうでない場合には
false を返します。
@param other 比較対象のオブジェクトを指定します。
diff --git a/refm/api/src/_builtin/Math b/refm/api/src/_builtin/Math
index 9c2c23bb..bca878eb 100644
--- a/refm/api/src/_builtin/Math
+++ b/refm/api/src/_builtin/Math
@@ -2,9 +2,7 @@
浮動小数点演算をサポートするモジュールです。
-Math モジュールにはさまざま数学関数がモジュール関数として定義されています。
-モジュール関数は以下のように,モジュールの特異メソッドとして呼び出す使い方と、
-モジュールをインクルードしてレシーバーを省略した形で呼び出す使い方の両方ができます。
+Math モジュールにはさまざま数学関数がモジュール関数として定義されています。モジュール関数は以下のように,モジュールの特異メソッドとして呼び出す使い方と、モジュールをインクルードしてレシーバーを省略した形で呼び出す使い方の両方ができます。
=== 例
@@ -626,7 +624,6 @@ Math.lgamma(0) # => [Infinity, 1]
#@since 1.9.1
= class Math::DomainError < StandardError
-数学関数(module Math のモジュール関数)で与えた引数が定義域
-に含まれていない場合に発生します。
+数学関数(module Math のモジュール関数)で与えた引数が定義域に含まれていない場合に発生します。
#@end
diff --git a/refm/api/src/_builtin/Method b/refm/api/src/_builtin/Method
index 59789096..b201617e 100644
--- a/refm/api/src/_builtin/Method
+++ b/refm/api/src/_builtin/Method
@@ -1,17 +1,14 @@
= class Method < Object
-[[m:Object#method]] によりオブジェクト化され
-たメソッドオブジェクトのクラスです。
+[[m:Object#method]] によりオブジェクト化されたメソッドオブジェクトのクラスです。
メソッドの実体(名前でなく)とレシーバの組を封入します。
[[c:Proc]] オブジェクトと違ってコンテキストを保持しません。
=== Proc との差
-[[c:Method]] は取り出しの対象であるメソッドが
-なければ作れませんが、[[c:Proc]] は準備なしに作れます。その点から
-[[c:Proc]] は使い捨てに向き、[[c:Method]] は何度も繰り返し生成する
-場合に向くと言えます。また内包するコードの大きさという点では
+[[c:Method]] は取り出しの対象であるメソッドがなければ作れませんが、[[c:Proc]] は準備なしに作れます。その点から
+[[c:Proc]] は使い捨てに向き、[[c:Method]] は何度も繰り返し生成する場合に向くと言えます。また内包するコードの大きさという点では
[[c:Proc]] は小規模、[[c:Method]] は大規模コードに向くと言えます。
@@ -57,8 +54,7 @@
p methods[2].call # => "bar"
p methods[3].call # => "baz"
-しかし、レシーバを固定させる(Method オブジェクトはレシーバを保持する)必
-要がないなら [[m:Object#send]]を使う方法も有用。
+しかし、レシーバを固定させる(Method オブジェクトはレシーバを保持する)必要がないなら [[m:Object#send]]を使う方法も有用。
class Foo
def foo() "foo" end
@@ -110,9 +106,7 @@
引数やブロックはそのままメソッドに渡されます。
-self[] の形の呼び出しは通常のメソッド呼び出しに見た目を
-近付けるためだけに用意されたもので、Array#[]のような
-他の [] メソッドとの意味的な関連性はありません。
+self[] の形の呼び出しは通常のメソッド呼び出しに見た目を近付けるためだけに用意されたもので、Array#[]のような他の [] メソッドとの意味的な関連性はありません。
メソッドオブジェクトが汚染されている場合、そのメソッドは、セーフレベル 4 で実行されます
@@ -140,8 +134,7 @@ self[] の形の呼び出しは通常のメソッド呼び出しに見た目を
-(必要とされる引数の数 + 1)
-を返します。C 言語レベルで実装されたメソッドが可変長引数を
-受け付ける場合、-1 を返します。
+を返します。C 言語レベルで実装されたメソッドが可変長引数を受け付ける場合、-1 を返します。
例:
@@ -178,8 +171,7 @@ self を読みやすい文字列として返します。
#<Method: klass1(klass2)#method> (形式1)
klass1 は、[[m:Method#inspect]] では、レシーバのクラス名、
-[[m:UnboundMethod#inspect]] では、[[c:UnboundMethod]] オブジェクトの生成
-元となったクラス/モジュール名です。
+[[m:UnboundMethod#inspect]] では、[[c:UnboundMethod]] オブジェクトの生成元となったクラス/モジュール名です。
klass2 は、実際にそのメソッドを定義しているクラス/モジュール名、
method は、メソッド名を表します。
@@ -259,8 +251,7 @@ self を call する [[c:Proc]] オブジェクトを生成して返します。
--- unbind -> UnboundMethod
-self のレシーバとの関連を取り除いた [[c:UnboundMethod]] オブ
-ジェクトを生成して返します。
+self のレシーバとの関連を取り除いた [[c:UnboundMethod]] オブジェクトを生成して返します。
例:
class Foo
@@ -294,8 +285,7 @@ true を返します。そうでない場合に false を返します。
自身のハッシュ値を返します。
#@until 2.0.0
-eql? が真でも hash が一致しない場合があるので [[m:Array#uniq]] などが意図通り動作しないことがあります。
-この挙動はバグなので Ruby2.0.0 以降では修正済みです。[[ruby-core:42755]]
+eql? が真でも hash が一致しない場合があるので [[m:Array#uniq]] などが意図通り動作しないことがあります。この挙動はバグなので Ruby2.0.0 以降では修正済みです。[[ruby-core:42755]]
#@end
a = method(:==)
@@ -368,8 +358,7 @@ eql? が真でも hash が一致しない場合があるので [[m:Array#uniq]]
--- source_location -> [String, Integer] | nil
ソースコードのファイル名と行番号を配列で返します。
-その手続オブジェクトが ruby で定義されていない(つまりネイティブ
-である)場合は nil を返します。
+その手続オブジェクトが ruby で定義されていない(つまりネイティブである)場合は nil を返します。
@see [[m:Proc#source_location]]
#@end
@@ -378,9 +367,7 @@ eql? が真でも hash が一致しない場合があるので [[m:Array#uniq]]
--- parameters -> [object]
Method オブジェクトの引数の情報を返します。
-Method オブジェクトが引数を取らなければ空の配列を返します。引数を取る場合は、配列の配列を返し、
-各配列の要素は引数の種類に応じた以下のような Symbol と、仮引数の名前を表す Symbol の 2 要素です。
-組み込みのメソッドでは、仮引数の名前が取れません。
+Method オブジェクトが引数を取らなければ空の配列を返します。引数を取る場合は、配列の配列を返し、各配列の要素は引数の種類に応じた以下のような Symbol と、仮引数の名前を表す Symbol の 2 要素です。組み込みのメソッドでは、仮引数の名前が取れません。
: :req
必須の引数
@@ -425,9 +412,7 @@ Method オブジェクトが引数を取らなければ空の配列を返しま
self を元にカリー化した [[c:Proc]] を返します。
-カリー化した [[c:Proc]] はいくつかの引数をとります。十分な数の引数が与
-えられると、元の [[c:Proc]] に引数を渡し て実行し、結果を返します。引数
-の個数が足りないときは、部分適用したカリー化 [[c:Proc]] を返します。
+カリー化した [[c:Proc]] はいくつかの引数をとります。十分な数の引数が与えられると、元の [[c:Proc]] に引数を渡し て実行し、結果を返します。引数の個数が足りないときは、部分適用したカリー化 [[c:Proc]] を返します。
@param arity 引数の個数を指定します。可変長の引数を指定できるメソッドを
カリー化する際には必ず指定する必要があります。
@@ -453,8 +438,7 @@ self を元にカリー化した [[c:Proc]] を返します。
--- super_method -> Method | nil
-self 内で super を実行した際に実行されるメソッドを [[c:Method]] オブジェ
-クトにして返します。
+self 内で super を実行した際に実行されるメソッドを [[c:Method]] オブジェクトにして返します。
@see [[m:UnboundMethod#super_method]]
diff --git a/refm/api/src/_builtin/Module b/refm/api/src/_builtin/Module
index fdacac8e..fc02ea62 100644
--- a/refm/api/src/_builtin/Module
+++ b/refm/api/src/_builtin/Module
@@ -27,8 +27,7 @@
--- nesting -> [Class, Module]
-このメソッドを呼び出した時点でのクラス/モジュールのネスト情
-報を配列に入れて返します。
+このメソッドを呼び出した時点でのクラス/モジュールのネスト情報を配列に入れて返します。
module Foo
module Bar
@@ -46,23 +45,18 @@
名前の付いていないモジュールを新しく生成して返します。
#@since 1.8.0
-ブロックが与えられると生成したモジュールをブロックに渡し、
-モジュールのコンテキストでブロックを実行します。
+ブロックが与えられると生成したモジュールをブロックに渡し、モジュールのコンテキストでブロックを実行します。
mod = Module.new
mod.module_eval {|m| ... }
mod
-と同じです。
-ブロックの実行は Module#initialize が行います。
+と同じです。ブロックの実行は Module#initialize が行います。
ブロックを与えた場合も生成したモジュールを返します。
#@end
-このメソッドで生成されたモジュールは、
-最初に名前が必要になったときに名前が決定します。
-モジュールの名前は、
-そのモジュールが代入されている定数名のいずれかです。
+このメソッドで生成されたモジュールは、最初に名前が必要になったときに名前が決定します。モジュールの名前は、そのモジュールが代入されている定数名のいずれかです。
m = Module.new
p m # => #<Module 0lx40198a54>
@@ -79,8 +73,7 @@
#@since 2.4.0
--- used_modules -> [Module]
-現在のスコープで using されているすべてのモジュールを配列で返します。
-配列内のモジュールの順番は未定義です。
+現在のスコープで using されているすべてのモジュールを配列で返します。配列内のモジュールの順番は未定義です。
module A
refine Object do
@@ -105,8 +98,7 @@
self と other の継承関係を比較します。
self と other を比較して、
-self が other の子孫であるとき -1、
-同一のクラス/モジュールのとき 0、
+self が other の子孫であるとき -1、同一のクラス/モジュールのとき 0、
self が other の先祖であるとき 1
を返します。
@@ -193,8 +185,7 @@ false を返します。
--- <=(other) -> bool | nil
-比較演算子。self が other の子孫であるか、self と other が
-同一クラスである場合、 true を返します。
+比較演算子。self が other の子孫であるか、self と other が同一クラスである場合、 true を返します。
self が other の先祖である場合、false を返します。
継承関係にないクラス同士の比較では
@@ -259,9 +250,7 @@ false を返します。
--- ===(obj) -> bool
-指定された obj が self かそのサブクラスのインスタンスであるとき真を返します。
-また、obj が self をインクルードしたクラスかそのサブクラスのインスタンスである場合にも
-真を返します。上記のいずれでもない場合に false を返します。
+指定された obj が self かそのサブクラスのインスタンスであるとき真を返します。また、obj が self をインクルードしたクラスかそのサブクラスのインスタンスである場合にも真を返します。上記のいずれでもない場合に false を返します。
言い替えると obj.kind_of?(self) が true の場合、 true を返します。
@@ -280,8 +269,7 @@ case ではクラス、モジュールの所属関係をチェックすること
--- ancestors -> [Class, Module]
-クラス、モジュールのスーパークラスとインクルードしているモジュール
-を優先順位順に配列に格納して返します。
+クラス、モジュールのスーパークラスとインクルードしているモジュールを優先順位順に配列に格納して返します。
module Foo
end
@@ -327,8 +315,7 @@ case ではクラス、モジュールの所属関係をチェックすること
Date # => Date
--- autoload?(const_name) -> String | nil
-autoload 定数がまだ定義されてない(ロードされていない) ときにそのパス名を返します。
-また、ロード済みなら nil を返します。
+autoload 定数がまだ定義されてない(ロードされていない) ときにそのパス名を返します。また、ロード済みなら nil を返します。
@param const_name [[c:String]] または [[c:Symbol]] で指定します。
@@ -389,11 +376,9 @@ autoload 定数がまだ定義されてない(ロードされていない) と
#@since 1.9.1
--- const_defined?(name, inherit = true) -> bool
-モジュールに name で指定される名前の定数が定義されている時真
-を返します。
+モジュールに name で指定される名前の定数が定義されている時真を返します。
-スーパークラスや include したモジュールで定義された定数を検索対象
-にするかどうかは第二引数で制御することができます。
+スーパークラスや include したモジュールで定義された定数を検索対象にするかどうかは第二引数で制御することができます。
@param name [[c:String]], [[c:Symbol]] で指定される定数名。
@@ -403,11 +388,9 @@ autoload 定数がまだ定義されてない(ロードされていない) と
#@else
--- const_defined?(name) -> bool
-モジュールに name で指定される名前の定数が定義されている時真
-を返します。
+モジュールに name で指定される名前の定数が定義されている時真を返します。
-スーパークラスや include したモジュールで定義された定数は対象には
-なりません。(ただし、[[c:Object]] だけは例外)
+スーパークラスや include したモジュールで定義された定数は対象にはなりません。(ただし、[[c:Object]] だけは例外)
@param name [[c:String]], [[c:Symbol]] で指定される定数名。
@@ -454,8 +437,7 @@ autoload 定数がまだ定義されてない(ロードされていない) と
#@since 2.0.0
name で指定される名前の定数の値を取り出します。
#@else
-モジュールに定義されている name で指定される名前の定数の値を
-取り出します。
+モジュールに定義されている name で指定される名前の定数の値を取り出します。
#@end
[[m:Module#const_defined?]] と違って [[c:Object]] を特別扱いすることはありません。
@@ -500,8 +482,7 @@ name で指定される名前の定数の値を取り出します。
#@since 1.8.0
--- const_missing(name)
-定義されていない定数を参照したときに Ruby インタプリタが
-このメソッドを呼びます。
+定義されていない定数を参照したときに Ruby インタプリタがこのメソッドを呼びます。
@param name 参照した定数名の [[c:Symbol]]
@@ -523,11 +504,9 @@ name で指定される名前の定数の値を取り出します。
--- const_set(name, value) -> object
-モジュールに name で指定された名前の定数を value とい
-う値として定義し、value を返します。
+モジュールに name で指定された名前の定数を value という値として定義し、value を返します。
-そのモジュールにおいてすでにその名前の定数が定義されている場合、警
-告メッセージが出力されます。
+そのモジュールにおいてすでにその名前の定数が定義されている場合、警告メッセージが出力されます。
@param name [[c:Symbol]],[[c:String]] で定数の名前を指定します。
@param value セットしたい値を指定します。
@@ -564,9 +543,7 @@ name で指定される名前の定数の値を取り出します。
inherit に真を指定すると
#@end
スーパークラスやインクルードしているモジュールの定数も含みます。
-[[c:Object]] のサブクラスの場合、Objectやそのスーパークラスで定義されている
-定数は含まれません。 Object.constants とすると Object クラスで定義された
-定数の配列が得られます。
+[[c:Object]] のサブクラスの場合、Objectやそのスーパークラスで定義されている定数は含まれません。 Object.constants とすると Object クラスで定義された定数の配列が得られます。
得られる定数の順序は保証されません。
@@ -624,11 +601,9 @@ inherit に真を指定すると
モジュールを凍結(内容の変更を禁止)します。
#@since 1.9.1
-凍結したモジュールにメソッドの追加など何らかの変更を加えようとした場合
-に [[c:RuntimeError]] が発生します。
+凍結したモジュールにメソッドの追加など何らかの変更を加えようとした場合に [[c:RuntimeError]] が発生します。
#@else
-凍結したモジュールにメソッドの追加など何らかの変更を加えようとした場合
-に [[c:TypeError]] が発生します。
+凍結したモジュールにメソッドの追加など何らかの変更を加えようとした場合に [[c:TypeError]] が発生します。
#@end
@see [[m:Object#freeze]]
@@ -652,8 +627,7 @@ inherit に真を指定すると
#@since 1.8.0
--- include?(mod) -> bool
-self かその親クラス / 親モジュールがモジュール mod を
-インクルードしていれば true を返します。
+self かその親クラス / 親モジュールがモジュール mod をインクルードしていれば true を返します。
@param mod [[c:Module]] を指定します。
@@ -697,8 +671,7 @@ self のインスタンスメソッド name をオブジェクト化した [[c:U
--- method_defined?(name) -> bool
-モジュールにインスタンスメソッド name が定義されており、
-かつその可視性が public または protected であるときに
+モジュールにインスタンスメソッド name が定義されており、かつその可視性が public または protected であるときに
true を返します。
@param name [[c:Symbol]] か [[c:String]] を指定します。
@@ -722,22 +695,18 @@ true を返します。
--- class_eval(expr, fname = "(eval)", lineno = 1) -> object
--- class_eval{|mod| ... } -> object
-モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを
-評価してその結果を返します。
+モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを評価してその結果を返します。
-モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。
-つまり、そのモジュールの定義式の中にあるかのように実行されます。
+モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
-文字列が与えられた場合には、定数とクラス変数のスコープは自身のモジュール定義式内と同じスコープになります。
-ブロックが与えられた場合には、定数とクラス変数のスコープはブロックの外側のスコープになります。
+文字列が与えられた場合には、定数とクラス変数のスコープは自身のモジュール定義式内と同じスコープになります。ブロックが与えられた場合には、定数とクラス変数のスコープはブロックの外側のスコープになります。
#@until 1.8.0
=== 注意
module_eval のブロック中でメソッドを定義する場合、
-[[m:Object#instance_eval]] と同様の制限があります。
-詳細はそちらの説明を参照してください。
+[[m:Object#instance_eval]] と同様の制限があります。詳細はそちらの説明を参照してください。
#@end
@param expr 評価される文字列。
@@ -775,11 +744,7 @@ module_eval のブロック中でメソッドを定義する場合、
モジュールやクラスの名前を文字列で返します。
-このメソッドが返す「モジュール / クラスの名前」とは、
-より正確には「クラスパス」を指します。
-クラスパスとは、ネストしているモジュールすべてを
-「::」を使って表示した名前のことです。
-クラスパスの例としては「CGI::Session」「Net::HTTP」が挙げられます。
+このメソッドが返す「モジュール / クラスの名前」とは、より正確には「クラスパス」を指します。クラスパスとは、ネストしているモジュールすべてを「::」を使って表示した名前のことです。クラスパスの例としては「CGI::Session」「Net::HTTP」が挙げられます。
#@since 1.9.1
@return 名前のないモジュール / クラスに対しては nil を返します。
@@ -816,8 +781,7 @@ module_eval のブロック中でメソッドを定義する場合、
--- instance_methods(inherited_too = true) -> [String]
#@end
-そのモジュールで定義されている public および protected メソッド名
-の一覧を配列で返します。
+そのモジュールで定義されている public および protected メソッド名の一覧を配列で返します。
@param inherited_too false を指定するとそのモジュールで定義されているメソッドのみ返します。
@@ -914,8 +878,7 @@ self の public インスタンスメソッド name をオブジェクト化し
--- public_instance_methods(inherited_too = true) -> [String]
#@end
-そのモジュールで定義されている public メソッド名
-の一覧を配列で返します。
+そのモジュールで定義されている public メソッド名の一覧を配列で返します。
@param inherited_too false を指定するとそのモジュールで定義されているメソッドのみ返します。
@@ -927,8 +890,7 @@ self の public インスタンスメソッド name をオブジェクト化し
--- private_instance_methods(inherited_too = true) -> [String]
#@end
-そのモジュールで定義されている private メソッド名
-の一覧を配列で返します。
+そのモジュールで定義されている private メソッド名の一覧を配列で返します。
@param inherited_too false を指定するとそのモジュールで定義されているメソッドのみ返します。
@@ -956,8 +918,7 @@ self の public インスタンスメソッド name をオブジェクト化し
--- protected_instance_methods(inherited_too = true) -> [String]
#@end
-そのモジュールで定義されている protected メソッド名
-の一覧を配列で返します。
+そのモジュールで定義されている protected メソッド名の一覧を配列で返します。
@param inherited_too false を指定するとそのモジュールで定義されているメソッドのみ返します。
@@ -967,8 +928,7 @@ self の public インスタンスメソッド name をオブジェクト化し
--- private_class_method(*name) -> self
-name で指定したクラスメソッド (クラスの特異メソッド) の
-可視性を private に変更します。
+name で指定したクラスメソッド (クラスの特異メソッド) の可視性を private に変更します。
@param name 0 個以上の [[c:String]] か [[c:Symbol]] を指定します。
@@ -983,8 +943,7 @@ name で指定したクラスメソッド (クラスの特異メソッド) の
--- public_class_method(*name) -> self
-name で指定したクラスメソッド (クラスの特異メソッド) の
-可視性を public に変更します。
+name で指定したクラスメソッド (クラスの特異メソッド) の可視性を public に変更します。
@param name 0 個以上の [[c:String]] か [[c:Symbol]] を指定します。
@@ -1005,9 +964,7 @@ name で指定したクラスメソッド (クラスの特異メソッド) の
#@since 1.8.0
--- private_method_defined?(name) -> bool
-インスタンスメソッド name がモジュールに定義されており、
-しかもその可視性が private であるときに true を返します。
-そうでなければ false を返します。
+インスタンスメソッド name がモジュールに定義されており、しかもその可視性が private であるときに true を返します。そうでなければ false を返します。
@param name [[c:Symbol]] か [[c:String]] を指定します。
@@ -1015,9 +972,7 @@ name で指定したクラスメソッド (クラスの特異メソッド) の
--- protected_method_defined?(name) -> bool
-インスタンスメソッド name がモジュールに定義されており、
-しかもその可視性が protected であるときに true を返します。
-そうでなければ false を返します。
+インスタンスメソッド name がモジュールに定義されており、しかもその可視性が protected であるときに true を返します。そうでなければ false を返します。
@param name [[c:Symbol]] か [[c:String]] を指定します。
@@ -1037,9 +992,7 @@ name で指定したクラスメソッド (クラスの特異メソッド) の
--- public_method_defined?(name) -> bool
-インスタンスメソッド name がモジュールに定義されており、
-しかもその可視性が public であるときに true を返します。
-そうでなければ false を返します。
+インスタンスメソッド name がモジュールに定義されており、しかもその可視性が public であるときに true を返します。そうでなければ false を返します。
@param name [[c:Symbol]] か [[c:String]] を指定します。
@@ -1050,8 +1003,7 @@ name で指定したクラスメソッド (クラスの特異メソッド) の
#@since 1.8.6
--- class_variable_defined?(name) -> bool
-name で与えられた名前のクラス変数がモジュールに存在する場合 true を
-返します。
+name で与えられた名前のクラス変数がモジュールに存在する場合 true を返します。
#@# Returns true if the given class variable is defined in obj.
@param name [[c:Symbol]] か [[c:String]] を指定します。
@@ -1069,8 +1021,7 @@ name で与えられた名前のクラス変数がモジュールに存在する
#@since 1.9.1
--- remove_class_variable(name) -> object
-引数で指定したクラス変数を取り除き、そのクラス変数に設定さ
-れていた値を返します。
+引数で指定したクラス変数を取り除き、そのクラス変数に設定されていた値を返します。
@param name [[c:String]] または [[c:Symbol]] を指定します。
@@ -1189,8 +1140,7 @@ val をセットします。val を返します。
end
end
-extend_object のデフォルトの実装では、self に定義されて
-いるインスタンスメソッドを obj の特異メソッドとして追加します。
+extend_object のデフォルトの実装では、self に定義されているインスタンスメソッドを obj の特異メソッドとして追加します。
@param obj self の機能を追加するオブジェクトを指定します。
@@ -1201,8 +1151,7 @@ extend_object のデフォルトの実装では、self に定義されて
#@since 1.8.0
--- extended(obj) -> ()
-self が他のオブジェクト に [[m:Object#extend]] されたときに
-呼ばれます。引数には extend を行ったオブジェクトが渡されます。
+self が他のオブジェクト に [[m:Object#extend]] されたときに呼ばれます。引数には extend を行ったオブジェクトが渡されます。
@param obj [[m:Object#extend]] を行ったオブジェクト
@@ -1227,8 +1176,7 @@ self が他のオブジェクト に [[m:Object#extend]] されたときに
#@since 1.8.0
--- included(class_or_module) -> ()
-self が [[m:Module#include]] されたときに対象のクラスまたはモジュー
-ルを引数にしてインタプリタがこのメソッドを呼び出します。
+self が [[m:Module#include]] されたときに対象のクラスまたはモジュールを引数にしてインタプリタがこのメソッドを呼び出します。
@param class_or_module [[m:Module#include]] を実行したオブジェクト
@@ -1275,8 +1223,7 @@ self が [[m:Module#include]] されたときに対象のクラスまたはモ
#@since 1.8.0
--- method_removed(name) -> ()
-メソッドが [[m:Module#remove_method]] により削除
-された時にインタプリタがこのメソッドを呼び出します。
+メソッドが [[m:Module#remove_method]] により削除された時にインタプリタがこのメソッドを呼び出します。
特異メソッドの削除に対するフックには
#@since 1.9.1
@@ -1344,24 +1291,17 @@ undef 文により未定義にされると、インタプリタがこのメソ
メソッドをモジュール関数にします。
-引数が与えられた時には、
-引数で指定されたメソッドをモジュール関数にします。
-引数なしのときは今後このモジュール定義文内で
-新しく定義されるメソッドをすべてモジュール関数にします。
+引数が与えられた時には、引数で指定されたメソッドをモジュール関数にします。引数なしのときは今後このモジュール定義文内で新しく定義されるメソッドをすべてモジュール関数にします。
-モジュール関数とは、プライベートメソッドであると同時に
-モジュールの特異メソッドでもあるようなメソッドです。
-例えば [[c:Math]] モジュールのメソッドはすべてモジュール関数です。
+モジュール関数とは、プライベートメソッドであると同時にモジュールの特異メソッドでもあるようなメソッドです。例えば [[c:Math]] モジュールのメソッドはすべてモジュール関数です。
self を返します。
@param name [[c:String]] または [[c:Symbol]] を 0 個以上指定します。
=== 注意
-module_function はメソッドに「モジュール関数」という属性をつけるメ
-ソッドではなく、プライベートメソッドとモジュールの特異メソッドの 2
-つを同時に定義するメソッドです。
-そのため、以下のように書いてもモジュール関数の別名は定義できません。
+module_function はメソッドに「モジュール関数」という属性をつけるメソッドではなく、プライベートメソッドとモジュールの特異メソッドの 2
+つを同時に定義するメソッドです。そのため、以下のように書いてもモジュール関数の別名は定義できません。
module M
def foo
@@ -1374,12 +1314,9 @@ module_function はメソッドに「モジュール関数」という属性を
M.foo # => "foo"
M.bar # => undefined method `bar' for Foo:Module (NoMethodError)
-このコードでは、モジュール関数 foo と
-プライベートインスタンスメソッド bar を定義してしまいます。
+このコードでは、モジュール関数 foo とプライベートインスタンスメソッド bar を定義してしまいます。
-正しくモジュール関数に別名を付けるには、
-以下のように、先に別名を定義してから
-それぞれをモジュール関数にしなければいけません。
+正しくモジュール関数に別名を付けるには、以下のように、先に別名を定義してからそれぞれをモジュール関数にしなければいけません。
module M
def foo
@@ -1401,11 +1338,9 @@ module_function はメソッドに「モジュール関数」という属性を
メソッドを private に設定します。
-引数なしのときは今後このクラスまたはモジュール定義内で新規に定義さ
-れるメソッドを関数形式でだけ呼び出せるように(private)設定します。
+引数なしのときは今後このクラスまたはモジュール定義内で新規に定義されるメソッドを関数形式でだけ呼び出せるように(private)設定します。
-引数が与えられた時には引数によって指定されたメソッドを private に
-設定します。
+引数が与えられた時には引数によって指定されたメソッドを private に設定します。
@param name [[c:String]] または [[c:Symbol]] を 0 個以上指定します。
@@ -1425,8 +1360,7 @@ module_function はメソッドに「モジュール関数」という属性を
メソッドを protected に設定します。
-引数なしのときは今後このクラスまたはモジュール定義内で新規に定義さ
-れるメソッドを protected に設定します。
+引数なしのときは今後このクラスまたはモジュール定義内で新規に定義されるメソッドを protected に設定します。
引数が与えられた時には引数によって指定されたメソッドを protected
に設定します。
@@ -1439,11 +1373,9 @@ module_function はメソッドに「モジュール関数」という属性を
メソッドを public に設定します。
-引数なしのときは今後このクラスまたはモジュール定義内で新規に定義さ
-れるメソッドをどんな形式でも呼び出せるように(public)設定します。
+引数なしのときは今後このクラスまたはモジュール定義内で新規に定義されるメソッドをどんな形式でも呼び出せるように(public)設定します。
-引数が与えられた時には引数によって指定されたメソッドを public に設
-定します。
+引数が与えられた時には引数によって指定されたメソッドを public に設定します。
@param name [[c:String]] または [[c:Symbol]] を 0 個以上指定します。
@@ -1462,8 +1394,7 @@ module_function はメソッドに「モジュール関数」という属性を
#@until 1.9.1
--- remove_class_variable(name) -> object
-引数で指定したクラス変数を取り除き、そのクラス変数に設定さ
-れていた値を返します。
+引数で指定したクラス変数を取り除き、そのクラス変数に設定されていた値を返します。
@param name [[c:String]] または [[c:Symbol]] を指定します。
@@ -1483,8 +1414,7 @@ module_function はメソッドに「モジュール関数」という属性を
--- remove_const(name) -> object
-name で指定した定数を取り除き、その定数に設定されていた値を
-返します。
+name で指定した定数を取り除き、その定数に設定されていた値を返します。
@param name [[c:String]] または [[c:Symbol]] を指定します。
@@ -1500,8 +1430,7 @@ name で指定した定数を取り除き、その定数に設定されていた
組み込みクラス/モジュールを設定している定数や [[m:Kernel.#autoload]] を指定した(まだロードしてない)定数を含めて削除する事ができます。
-取り除かれた定数は参照できなくなりますが、消える訳ではないので注意して
-使用してください。
+取り除かれた定数は参照できなくなりますが、消える訳ではないので注意して使用してください。
@see [[m:Module#remove_class_variable]], [[m:Object#remove_instance_variable]]
@@ -1517,8 +1446,7 @@ name で指定した定数を取り除き、その定数に設定されていた
与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。
-モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。
-つまり、そのモジュールの定義式の中にあるかのように実行されます。
+モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。つまり、そのモジュールの定義式の中にあるかのように実行されます。
ローカル変数、定数とクラス変数のスコープはブロックの外側のスコープになります。
@@ -1620,9 +1548,7 @@ deprecate に設定した定数を参照すると警告メッセージが表示
#@else
引数 klass で指定したクラスだけに対して、ブロックで指定した機能を提供で
#@end
-きるモジュールを定義します。定義した機能は Module#refine を使用せずに直
-接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。
-そのため、既存の機能を局所的に修正したい場合などに用いる事ができます。
+きるモジュールを定義します。定義した機能は Module#refine を使用せずに直接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。そのため、既存の機能を局所的に修正したい場合などに用いる事ができます。
refinements 機能の詳細については以下を参照してください。
@@ -1634,8 +1560,7 @@ refinements 機能の詳細については以下を参照してください。
#@end
#@since 2.1.0
-定義した機能は [[m:main.using]], [[m:Module#using]] を実行した場合のみ
-有効になります。
+定義した機能は [[m:main.using]], [[m:Module#using]] を実行した場合のみ有効になります。
#@else
定義した機能は [[m:main.using]] を実行した場合のみ有効になります。
#@end
@@ -1649,9 +1574,7 @@ refinements 機能の詳細については以下を参照してください。
@return ブロックで指定した機能を持つ無名のモジュールを返します。
#@until 2.1.0
-[注意] refinements は 2.0 現在、実験的な機能として提供されています。以
-降のバージョンで仕様が変更になる可能性があります。使用すると必ず警告が
-表示されます。
+[注意] refinements は 2.0 現在、実験的な機能として提供されています。以降のバージョンで仕様が変更になる可能性があります。使用すると必ず警告が表示されます。
#@end
class C
@@ -1682,19 +1605,16 @@ refinements 機能の詳細については以下を参照してください。
#@since 2.0.0
--- prepend_features(mod) -> self
[[m:Module#prepend]] から呼び出されるメソッドで、
-prepend の処理の実体です。このメソッド自体は mod で指定した
-モジュール/クラスの継承チェインの先頭に self を追加します。
+prepend の処理の実体です。このメソッド自体は mod で指定したモジュール/クラスの継承チェインの先頭に self を追加します。
-このメソッドを上書きすることで、prepend の処理を変更したり
-追加したりすることができます。
+このメソッドを上書きすることで、prepend の処理を変更したり追加したりすることができます。
@param mod prepend を呼び出したモジュール
@return mod が返されます
--- prepended(class_or_module) -> ()
-self が [[m:Module#prepend]] されたときに対象のクラスまたはモジュールを
-引数にしてインタプリタがこのメソッドを呼び出します。
+self が [[m:Module#prepend]] されたときに対象のクラスまたはモジュールを引数にしてインタプリタがこのメソッドを呼び出します。
@param class_or_module [[m:Module#prepend]] を実行したオブジェクト
@@ -1714,8 +1634,7 @@ self が [[m:Module#prepend]] されたときに対象のクラスまたはモ
#@since 2.1.0
--- singleton_class? -> bool
-self が特異クラスの場合に true を返します。そうでなければ false を返し
-ます。
+self が特異クラスの場合に true を返します。そうでなければ false を返します。
class C
end
@@ -1724,8 +1643,7 @@ self が特異クラスの場合に true を返します。そうでなければ
--- using(module) -> self
-引数で指定したモジュールで定義された拡張を現在のクラス、モジュールで有
-効にします。
+引数で指定したモジュールで定義された拡張を現在のクラス、モジュールで有効にします。
有効にした拡張の有効範囲については以下を参照してください。
diff --git a/refm/api/src/_builtin/Module.attr b/refm/api/src/_builtin/Module.attr
index acb4d6e5..63c1a4b3 100644
--- a/refm/api/src/_builtin/Module.attr
+++ b/refm/api/src/_builtin/Module.attr
@@ -8,9 +8,7 @@
@name
end
-省略可能な第 2 引数 assignable が指定されその値が真である
-場合には、属性の書き込み用メソッド name= も同時に定義されます。
-その定義は次の通りです。
+省略可能な第 2 引数 assignable が指定されその値が真である場合には、属性の書き込み用メソッド name= も同時に定義されます。その定義は次の通りです。
def name=(val)
@name = val
@@ -22,8 +20,7 @@
--- attr_accessor(*name) -> nil
-インスタンス変数 name に対する読み取りメソッドと書き込みメソッドの両方を
-定義します。
+インスタンス変数 name に対する読み取りメソッドと書き込みメソッドの両方を定義します。
このメソッドで定義されるメソッドの定義は以下の通りです。
diff --git a/refm/api/src/_builtin/Module.define_method b/refm/api/src/_builtin/Module.define_method
index afaca668..0c419aa6 100644
--- a/refm/api/src/_builtin/Module.define_method
+++ b/refm/api/src/_builtin/Module.define_method
@@ -3,8 +3,7 @@
インスタンスメソッド name を定義します。
-ブロックを与えた場合、定義したメソッドの実行時にブロックが
-レシーバクラスのインスタンスの上で [[m:BasicObject#instance_eval]] されます。
+ブロックを与えた場合、定義したメソッドの実行時にブロックがレシーバクラスのインスタンスの上で [[m:BasicObject#instance_eval]] されます。
@param name メソッド名を [[c:String]] または [[c:Symbol]] を指定します。
diff --git a/refm/api/src/_builtin/Module.include b/refm/api/src/_builtin/Module.include
index 73998182..ae86c639 100644
--- a/refm/api/src/_builtin/Module.include
+++ b/refm/api/src/_builtin/Module.include
@@ -39,10 +39,7 @@
# => [C, Math, FileTest, Object, Kernel]
-モジュールの機能追加は、クラスの継承関係の間にそのモジュールが挿入
-されることで実現されています。従って、メソッドの探索などは
-スーパークラスよりもインクルードされたモジュールのほうが
-先に行われます
+モジュールの機能追加は、クラスの継承関係の間にそのモジュールが挿入されることで実現されています。従って、メソッドの探索などはスーパークラスよりもインクルードされたモジュールのほうが先に行われます
(上の例の [[m:Module#ancestors]] の結果がメソッド探索の順序です)。
同じモジュールを二回以上 include すると二回目以降は無視されます。
@@ -59,6 +56,5 @@
p C2.ancestors # => [C2, C1, M, Object, Kernel]
#@since 1.8.0
-引数に複数のモジュールを指定した場合、
-最後の引数から順にインクルードします。
+引数に複数のモジュールを指定した場合、最後の引数から順にインクルードします。
#@end
diff --git a/refm/api/src/_builtin/Module.prepend b/refm/api/src/_builtin/Module.prepend
index 96339e8d..3bd8210c 100644
--- a/refm/api/src/_builtin/Module.prepend
+++ b/refm/api/src/_builtin/Module.prepend
@@ -2,20 +2,17 @@
指定したモジュールを self の継承チェインの先頭に「追加する」ことで
self の定数、メソッド、モジュール変数を「上書き」します。
-継承チェイン上で、self のモジュール/クラスよりも「手前」に
-追加されるため、結果として self で定義されたメソッドは
+継承チェイン上で、self のモジュール/クラスよりも「手前」に追加されるため、結果として self で定義されたメソッドは
override されます。
modules で指定したモジュールは後ろから順に処理されるため、
modules の先頭が最も優先されます。
-また、継承によってこの「上書き」を処理するため、prependの引数として
-渡したモジュールのインスタンスメソッドでsuperを呼ぶことで
+また、継承によってこの「上書き」を処理するため、prependの引数として渡したモジュールのインスタンスメソッドでsuperを呼ぶことで
self のモジュール/クラスのメソッドを呼び出すことができます。
実際の処理は modules の各要素の prepend_features を後ろから順に呼びだすだけです。
-[[m:Module#prepend_features]] が継承チェインの改変を実行し、結果として上のような
-処理が実現されます。そのため、prepend_features を override することで
+[[m:Module#prepend_features]] が継承チェインの改変を実行し、結果として上のような処理が実現されます。そのため、prepend_features を override することで
prepend の処理を追加/変更できます。
diff --git a/refm/api/src/_builtin/Module.undef_method b/refm/api/src/_builtin/Module.undef_method
index 0d833a4e..3ca6de2b 100644
--- a/refm/api/src/_builtin/Module.undef_method
+++ b/refm/api/src/_builtin/Module.undef_method
@@ -6,12 +6,7 @@
@raise NameError 指定したインスタンスメソッドが定義されていない場合に発生します。
-=== 「未定義にする」とは
-このモジュールのインスタンスに対して name という
-メソッドを呼び出すことを禁止するということです。
-スーパークラスの定義が継承されるかどうかという点において、
-「未定義」は「メソッドの削除」とは区別されます。
-以下のコード例を参照してください。
+=== 「未定義にする」とはこのモジュールのインスタンスに対して name というメソッドを呼び出すことを禁止するということです。スーパークラスの定義が継承されるかどうかという点において、「未定義」は「メソッドの削除」とは区別されます。以下のコード例を参照してください。
class A
def ok
@@ -41,8 +36,7 @@
B.new.ok # => A
#@#see [ruby-dev:17894]
-また、undef 文と undef_method の違いは、
-メソッド名を [[c:String]] または [[c:Symbol]] で与えられることです。
+また、undef 文と undef_method の違いは、メソッド名を [[c:String]] または [[c:Symbol]] で与えられることです。
module M1
def foo
diff --git a/refm/api/src/_builtin/NameError b/refm/api/src/_builtin/NameError
index d35ee9c8..89c8f846 100644
--- a/refm/api/src/_builtin/NameError
+++ b/refm/api/src/_builtin/NameError
@@ -27,8 +27,7 @@
--- name -> Symbol
-この例外オブジェクトを発生させる原因となった
-変数や定数、メソッドの名前をシンボルで返します。
+この例外オブジェクトを発生させる原因となった変数や定数、メソッドの名前をシンボルで返します。
例:
diff --git a/refm/api/src/_builtin/NilClass b/refm/api/src/_builtin/NilClass
index c695b47b..567db521 100644
--- a/refm/api/src/_builtin/NilClass
+++ b/refm/api/src/_builtin/NilClass
@@ -2,8 +2,7 @@
nil のクラス。
nil は NilClass クラスの唯一のインスタンスです。
-nil は false オブジェクトとともに偽を表し、
-その他の全てのオブジェクトは真です。
+nil は false オブジェクトとともに偽を表し、その他の全てのオブジェクトは真です。
== Instance Methods
diff --git a/refm/api/src/_builtin/Numeric b/refm/api/src/_builtin/Numeric
index f6e9651c..a2ee50ba 100644
--- a/refm/api/src/_builtin/Numeric
+++ b/refm/api/src/_builtin/Numeric
@@ -1,15 +1,10 @@
= class Numeric < Object
include Comparable
-数値を表す抽象クラスです。[[c:Integer]] や [[c:Float]] などの数値クラス
-は Numeric のサブクラスとして実装されています。
+数値を表す抽象クラスです。[[c:Integer]] や [[c:Float]] などの数値クラスは Numeric のサブクラスとして実装されています。
-演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されま
-す。Numeric で定義されているメソッドは、サブクラスで提供されているメソッド
-(+, -, *, /, %) を利用して定義されるものがほとんどです。
-つまり Numeric で定義されているメソッドは、Numeric のサブクラスとして新たに数値クラスを定義した時に、
-演算メソッド(+, -, *, /, %, <=>, coerce)だけを定義すれば、数値クラスのそのほかのメソッドが
-適切に定義されることを意図して提供されています。
+演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されます。Numeric で定義されているメソッドは、サブクラスで提供されているメソッド
+(+, -, *, /, %) を利用して定義されるものがほとんどです。つまり Numeric で定義されているメソッドは、Numeric のサブクラスとして新たに数値クラスを定義した時に、演算メソッド(+, -, *, /, %, <=>, coerce)だけを定義すれば、数値クラスのそのほかのメソッドが適切に定義されることを意図して提供されています。
+@, -@ は単項演算子 +, - を表しメソッド定義などではこの記法を利用します。
@@ -19,16 +14,13 @@ include Comparable
=== 数値関連のメソッドを実際に定義しているクラス一覧
-ほとんどの数値関連のメソッドはサブクラスで再定義されています。これは、
-効率のためであったり上位抽象クラスで実装を定義することができなかったり
-するためです。以下の表は
+ほとんどの数値関連のメソッドはサブクラスで再定義されています。これは、効率のためであったり上位抽象クラスで実装を定義することができなかったりするためです。以下の表は
#@since 2.4.0
2.4.2
#@else
2.1.2
#@end
-での一覧です。実際にどのメソッドがどのクラスに定義されているかはそれぞ
-れのクラスを参照してください。
+での一覧です。実際にどのメソッドがどのクラスに定義されているかはそれぞれのクラスを参照してください。
#@# cary = [Numeric, Integer, Float, Rational, Complex]
#@# mary = cary.collect {|c| c.instance_methods(false)}
@@ -278,8 +270,7 @@ include Comparable
#@# }
[[m:Numeric#ceil]], [[m:Numeric#floor]], [[m:Numeric#round]], [[m:Numeric#truncate]]
-のふるまいの違いの表です。左の実数に対して各メソッドを呼ぶと表のような数を
-返します。
+のふるまいの違いの表です。左の実数に対して各メソッドを呼ぶと表のような数を返します。
| ceil floor round truncate
----------------------------------------------------
@@ -298,8 +289,7 @@ include Comparable
n.floor
end
-また、任意桁の切上げ、切捨て、四捨五入を行うメソッドは以下のように
-定義できます。
+また、任意桁の切上げ、切捨て、四捨五入を行うメソッドは以下のように定義できます。
class Numeric
def roundup(d=0)
@@ -443,8 +433,7 @@ self の符号を反転させたものを返します。
自身と other が同じクラスになるよう、自身か other を変換し [other, self] という配列にして返します。
デフォルトでは self と other を [[c:Float]] に変換して [other, self] という配列にして返します。
-Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
-以下は [[c:Rational]] の coerce のソースです。other が自身の知らない数値クラスであった場合、
+Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。以下は [[c:Rational]] の coerce のソースです。other が自身の知らない数値クラスであった場合、
super を呼んでいることに注意して下さい。
# lib/rational.rb より
@@ -459,10 +448,7 @@ super を呼んでいることに注意して下さい。
end
end
-数値クラスの算術演算子は通常自分と演算できないクラスをオペランドとして受け
-取ると coerce を使って自分とオペランドを変換した上で演算を行います。
-以下は [[c:Rational]] の + メソッドを一部省略したものです。
-引数が自身の知らない数値クラスである場合、引数の coerce により自身を変換してから
+数値クラスの算術演算子は通常自分と演算できないクラスをオペランドとして受け取ると coerce を使って自分とオペランドを変換した上で演算を行います。以下は [[c:Rational]] の + メソッドを一部省略したものです。引数が自身の知らない数値クラスである場合、引数の coerce により自身を変換してから
+ 演算子を呼んでいます。
# lib/rational.rb より
@@ -492,9 +478,7 @@ self を other で割った整数の商 q を返します。
* other > 0 のとき: 0 <= r < other
* other < 0 のとき: other < r <= 0
- * q は整数
-をみたす数です。
-商に対応する余りは [[m:Numeric#modulo]] で求められます。
+ * q は整数をみたす数です。商に対応する余りは [[m:Numeric#modulo]] で求められます。
div はメソッド / を呼びだし、floorを取ることで計算されます。
メソッド / の定義はサブクラスごとの定義を用います。
@@ -508,8 +492,7 @@ div はメソッド / を呼びだし、floorを取ることで計算されま
--- divmod(other) -> [Numeric]
self を other で割った商 q と余り r を、
-[q, r] という 2 要素の配列にして返します。
-商 q は常に整数ですが、余り r は整数であるとは限りません。
+[q, r] という 2 要素の配列にして返します。商 q は常に整数ですが、余り r は整数であるとは限りません。
ここで、商 q と余り r は、
@@ -517,11 +500,8 @@ self を other で割った商 q と余り r を、
* other > 0 のとき: 0 <= r < other
* other < 0 のとき: other < r <= 0
- * q は整数
-をみたす数です。
-divmod が返す商は [[m:Numeric#div]] と同じです。
-また余りは、[[m:Numeric#modulo]] と同じです。
-このメソッドは、メソッド / と % によって定義されています。
+ * q は整数をみたす数です。
+divmod が返す商は [[m:Numeric#div]] と同じです。また余りは、[[m:Numeric#modulo]] と同じです。このメソッドは、メソッド / と % によって定義されています。
@param other 自身を割る数を指定します。
@@ -536,11 +516,9 @@ divmod が返す商は [[m:Numeric#div]] と同じです。
#@since 1.9.1
--- quo(other) -> Rational | Float | Complex
-self を other で割った商を返します。
-整商を得たい場合は [[m:Numeric#div]] を使ってください。
+self を other で割った商を返します。整商を得たい場合は [[m:Numeric#div]] を使ってください。
-[[m:Numeric#fdiv]] が結果を [[c:Float]] で返すメソッドなのに対して quo はなるべく正確な数値を返すことを意図しています。
-具体的には有理数の範囲に収まる計算では [[c:Rational]] の値を返します。
+[[m:Numeric#fdiv]] が結果を [[c:Float]] で返すメソッドなのに対して quo はなるべく正確な数値を返すことを意図しています。具体的には有理数の範囲に収まる計算では [[c:Rational]] の値を返します。
[[c:Float]] や [[c:Complex]] が関わるときはそれらのクラスになります。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@@ -568,8 +546,7 @@ Numeric のサブクラスは、このメソッドを適切に再定義しなけ
#@else
--- quo(other) -> Float
-self を other で割った商を返します。
-整商を得たい場合は [[m:Numeric#div]] を使ってください。
+self を other で割った商を返します。整商を得たい場合は [[m:Numeric#div]] を使ってください。
#@since 1.8.7
[[m:Numeric#fdiv]] が結果を [[c:Float]] で返すメソッドなのに対して quo はなるべく正確な数値を返すことを意図しています。
@@ -598,8 +575,7 @@ Numeric のサブクラスは、このメソッドを適切に再定義しなけ
self を other で割った商を [[c:Float]] で返します。
#@since 1.9.1
-ただし [[c:Complex]] が関わる場合は例外です。
-その場合も成分は Float になります。
+ただし [[c:Complex]] が関わる場合は例外です。その場合も成分は Float になります。
#@end
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@@ -617,8 +593,7 @@ Numeric のサブクラスは、このメソッドを適切に再定義しなけ
--- integer? -> bool
-自身が [[c:Integer]] かそのサブクラスのインスタンスの場合にtrue を返し
-ます。そうでない場合に false を返します。
+自身が [[c:Integer]] かそのサブクラスのインスタンスの場合にtrue を返します。そうでない場合に false を返します。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@@ -643,9 +618,7 @@ self を other で割った余り r を返します。
* other < 0 のとき other < r <= 0
* q は整数
-をみたす数です。
-余り r は、other と同じ符号になります。
-商 q は、[[m:Numeric#div]] (あるいは 「/」)で求められます。
+をみたす数です。余り r は、other と同じ符号になります。商 q は、[[m:Numeric#div]] (あるいは 「/」)で求められます。
modulo はメソッド % の呼び出しとして定義されています。
@param other 自身を割る数を指定します。
@@ -698,8 +671,7 @@ self を other で割った余り r を返します。
* self < 0 のとき -|other| < r <= 0
* q は整数
-をみたす数です。r の符号は self と同じになります。
-商 q を直接返すメソッドはありません。self.quo(other).truncate がそれに相当します。
+をみたす数です。r の符号は self と同じになります。商 q を直接返すメソッドはありません。self.quo(other).truncate がそれに相当します。
@param other 自身を割る数を指定します。
@@ -723,8 +695,7 @@ self を other で割った余り r を返します。
require 'rational'
p Rational(0, 2).nonzero? #=> nil
-非ゼロの時に self を返すため、自身が 0 の時に他の処理をさせたい場合に以
-下のように記述する事もできます。
+非ゼロの時に self を返すため、自身が 0 の時に他の処理をさせたい場合に以下のように記述する事もできます。
a = %w( z Bb bB bb BB a aA Aa AA A )
b = a.sort {|a,b| (a.downcase <=> b.downcase).nonzero? || a <=> b }
@@ -749,8 +720,7 @@ self の絶対値が有限値の場合に true を、そうでない場合に fa
--- infinite? -> nil
-常に nil を返します。
-自身が [[c:Float]] か[[c:Complex]]、もしくはそのサブクラスのインスタンスの場合は、self の絶対値が負の無限大の場合に-1を、正の無限大の場合に1を、有限値の場合に nil を返します。
+常に nil を返します。自身が [[c:Float]] か[[c:Complex]]、もしくはそのサブクラスのインスタンスの場合は、self の絶対値が負の無限大の場合に-1を、正の無限大の場合に1を、有限値の場合に nil を返します。
例:
@@ -789,9 +759,7 @@ self.to_i と同じです。
--- step(by:, to: -Float::INFINITY) -> Enumerator
#@end
-self からはじめ step を足しながら limit を越える
-前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には [[c:Float]] なども
-指定できます。
+self からはじめ step を足しながら limit を越える前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には [[c:Float]] なども指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された場合は、
下限として解釈されます。
@@ -840,9 +808,7 @@ self からはじめ step を足しながら limit を越える
#@end
注:浮動小数点数の 0.1 は 2進数では正確な表現ができない(2進数で
-0.1は 0.00011001100....となる)ので、以下のようなループでは誤差が
-生じて意図した回数ループしないことがある。step はこの誤差を考慮し
-て実装されている。
+0.1は 0.00011001100....となる)ので、以下のようなループでは誤差が生じて意図した回数ループしないことがある。step はこの誤差を考慮して実装されている。
i = 1.1
while i <= 1.5
@@ -860,8 +826,7 @@ self からはじめ step を足しながら limit を越える
--- <=>(other) -> -1 | 0 | 1 | nil
-自身が other より大きい場合に 1 を、等しい場合に 0 を、小さい場合には -1 をそれぞれ返します。
-自身と other が比較できない場合には nil を返します。
+自身が other より大きい場合に 1 を、等しい場合に 0 を、小さい場合には -1 をそれぞれ返します。自身と other が比較できない場合には nil を返します。
Numeric のサブクラスは、上の動作を満たすよう このメソッドを適切に再定義しなければなりません。
@@ -874,8 +839,7 @@ Numeric のサブクラスは、上の動作を満たすよう このメソッ
--- eql?(other) -> bool
-自身と other のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。
-そうでない場合に false を返します。
+自身と other のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。
Numeric のサブクラスは、eql? で比較して等しい数値同士が同じハッシュ値を返すように
hash メソッドを適切に定義する必要があります。
@@ -972,8 +936,7 @@ Numeric のサブクラスは、このメソッドを適切に再定義しなけ
--- polar -> [Numeric, Numeric]
-自身の絶対値と偏角を配列にして返します。正の数なら [self, 0]、負の数な
-ら [-self, [[m:Math::PI]]] を返します。
+自身の絶対値と偏角を配列にして返します。正の数なら [self, 0]、負の数なら [-self, [[m:Math::PI]]] を返します。
例:
diff --git a/refm/api/src/_builtin/Object b/refm/api/src/_builtin/Object
index 0d361aae..d34282e5 100644
--- a/refm/api/src/_builtin/Object
+++ b/refm/api/src/_builtin/Object
@@ -6,8 +6,7 @@
include Kernel
-全てのクラスのスーパークラス。
-オブジェクトの一般的な振舞いを定義します。
+全てのクラスのスーパークラス。オブジェクトの一般的な振舞いを定義します。
このクラスのメソッドは上書きしたり未定義にしない限り、すべてのオブジェクトで使用することができます。
@@ -25,12 +24,9 @@ Objectクラスのインスタンスを生成して返します。
オブジェクトと other が等しければ真を返します。
-このメソッドは各クラスの性質に合わせて再定義すべきです。
-多くの場合、オブジェクトの内容が等しければ真を返すように
-(同値性を判定するように)再定義されることが期待されています。
+このメソッドは各クラスの性質に合わせて再定義すべきです。多くの場合、オブジェクトの内容が等しければ真を返すように(同値性を判定するように)再定義されることが期待されています。
-デフォルトでは equal? と同じオブジェクト
-の同一性判定になっています。
+デフォルトでは equal? と同じオブジェクトの同一性判定になっています。
@param other 比較するオブジェクトです。
@@ -52,18 +48,13 @@ self === other である場合に 0 を返します。そうでない場合に
--- eql?(other) -> bool
-オブジェクトと other が等しければ真を返します。[[c:Hash]] で二つのキー
-が等しいかどうかを判定するのに使われます。
+オブジェクトと other が等しければ真を返します。[[c:Hash]] で二つのキーが等しいかどうかを判定するのに使われます。
-このメソッドは各クラスの性質に合わせて再定義すべきです。
-多くの場合、 == と同様に同値性の判定をするように再定義されていますが、
-適切にキー判定ができるようにより厳しくなっている場合もあります。
+このメソッドは各クラスの性質に合わせて再定義すべきです。多くの場合、 == と同様に同値性の判定をするように再定義されていますが、適切にキー判定ができるようにより厳しくなっている場合もあります。
-デフォルトでは equal? と同じオブジェクト
-の同一性判定になっています。
+デフォルトでは equal? と同じオブジェクトの同一性判定になっています。
-このメソッドを再定義した時には [[m:Object#hash]] メソッ
-ドも再定義しなければなりません。
+このメソッドを再定義した時には [[m:Object#hash]] メソッドも再定義しなければなりません。
@param other 比較するオブジェクトです。
@@ -79,11 +70,9 @@ self === other である場合に 0 を返します。そうでない場合に
other が self 自身の時、真を返します。
-二つのオブジェクトが同一のものかどうか調べる時に使用します。
-このメソッドを再定義してはいけません。
+二つのオブジェクトが同一のものかどうか調べる時に使用します。このメソッドを再定義してはいけません。
-お互いの[[m:Object#object_id]]が一致する
-かどうかを調べます。
+お互いの[[m:Object#object_id]]が一致するかどうかを調べます。
@param other 比較するオブジェクトです。
@@ -109,8 +98,7 @@ other が self 自身の時、真を返します。
#@end
#@end
#@since 1.8.0
-そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。
-このメソッドは public メソッドおよび protected メソッドの名前を返します。
+そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。このメソッドは public メソッドおよび protected メソッドの名前を返します。
ただし特別に、引数が偽の時は [[m:Object#singleton_methods]](false) と同じになっています。
#@end
@@ -276,8 +264,7 @@ other が self 自身の時、真を返します。
そのオブジェクトに対して定義されている特異メソッド名
(public あるいは protected メソッド) の一覧を返します。
-inherited_too が真のときは継承した特異メソッドを含みます。
-継承した特異メソッドとは [[m:Object#extend]] によって追加された特異メソッドや、
+inherited_too が真のときは継承した特異メソッドを含みます。継承した特異メソッドとは [[m:Object#extend]] によって追加された特異メソッドや、
self がクラスの場合はスーパークラスのクラスメソッド([[c:Class]]のインスタンスの特異メソッド)などです。
singleton_methods(false) は、[[m:Object#methods]](false) と同じです。
@@ -366,15 +353,10 @@ singleton_methods(false) は、[[m:Object#methods]](false) と同じです。
#@since 1.9.1
デフォルトでは定義されていません。
-説明のためここに記載してありますが、
-このメソッドは実際には Object クラスには定義されていません。
-必要に応じてサブクラスで定義すべきものです。
+説明のためここに記載してありますが、このメソッドは実際には Object クラスには定義されていません。必要に応じてサブクラスで定義すべきものです。
#@else
-配列に変換できない(to_ary を持たない)オブジェクトは、自身のみを含む長さ 1 の配
-列に変換されます。
-このメソッドは、将来 Object のメソッドからは取り除かれます。
-なので to_a を使用する場合、
+配列に変換できない(to_ary を持たない)オブジェクトは、自身のみを含む長さ 1 の配列に変換されます。このメソッドは、将来 Object のメソッドからは取り除かれます。なので to_a を使用する場合、
* すべてのオブジェクトに to_a が定義されているという期待はしない。
* ユーザー定義のクラスには必要に応じて自分で定義する
@@ -400,9 +382,7 @@ singleton_methods(false) は、[[m:Object#methods]](false) と同じです。
オブジェクトの文字列表現を返します。
-[[m:Kernel.#print]] や [[m:Kernel.#sprintf]] は文字列以外の
-オブジェクトが引数に渡された場合このメソッドを使って文字列に変換し
-ます。
+[[m:Kernel.#print]] や [[m:Kernel.#sprintf]] は文字列以外のオブジェクトが引数に渡された場合このメソッドを使って文字列に変換します。
class Foo
def initialize num
@@ -425,17 +405,13 @@ singleton_methods(false) は、[[m:Object#methods]](false) と同じです。
--- to_str -> String
#@#nomethod
-オブジェクトの [[c:String]] への暗黙の変換が必要なときに内部で呼ばれます。
-デフォルトでは定義されていません。
+オブジェクトの [[c:String]] への暗黙の変換が必要なときに内部で呼ばれます。デフォルトでは定義されていません。
-説明のためここに記載してありますが、
-このメソッドは実際には Object クラスには定義されていません。
-必要に応じてサブクラスで定義すべきものです。
+説明のためここに記載してありますが、このメソッドは実際には Object クラスには定義されていません。必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する条件は、
* 文字列が使われるすべての場面で代置可能であるような、
- * 文字列そのものとみなせるようなもの
-という厳しいものになっています。
+ * 文字列そのものとみなせるようなものという厳しいものになっています。
class Foo
def to_str
@@ -450,17 +426,13 @@ singleton_methods(false) は、[[m:Object#methods]](false) と同じです。
--- to_ary -> Array
#@#nomethod
-オブジェクトの [[c:Array]] への暗黙の変換が必要なときに内部で呼ばれます。
-デフォルトでは定義されていません。
+オブジェクトの [[c:Array]] への暗黙の変換が必要なときに内部で呼ばれます。デフォルトでは定義されていません。
-説明のためここに記載してありますが、
-このメソッドは実際には Object クラスには定義されていません。
-必要に応じてサブクラスで定義すべきものです。
+説明のためここに記載してありますが、このメソッドは実際には Object クラスには定義されていません。必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する条件は、
* 配列が使われるすべての場面で代置可能であるような、
- * 配列そのものとみなせるようなもの
-という厳しいものになっています。
+ * 配列そのものとみなせるようなものという厳しいものになっています。
class Foo
def to_ary
@@ -476,17 +448,13 @@ singleton_methods(false) は、[[m:Object#methods]](false) と同じです。
--- to_hash -> Hash
#@#nomethod
-オブジェクトの [[c:Hash]] への暗黙の変換が必要なときに内部で呼ばれます。
-デフォルトでは定義されていません。
+オブジェクトの [[c:Hash]] への暗黙の変換が必要なときに内部で呼ばれます。デフォルトでは定義されていません。
-説明のためここに記載してありますが、
-このメソッドは実際には Object クラスには定義されていません。
-必要に応じてサブクラスで定義すべきものです。
+説明のためここに記載してありますが、このメソッドは実際には Object クラスには定義されていません。必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する条件は、
* ハッシュが使われるすべての場面で代置可能であるような、
- * ハッシュそのものとみなせるようなもの
-という厳しいものになっています。
+ * ハッシュそのものとみなせるようなものという厳しいものになっています。
class Foo
def to_hash
@@ -500,17 +468,13 @@ singleton_methods(false) は、[[m:Object#methods]](false) と同じです。
--- to_int -> Integer
#@#nomethod
-オブジェクトの [[c:Integer]] への暗黙の変換が必要なときに内部で呼ばれます。
-デフォルトでは定義されていません。
+オブジェクトの [[c:Integer]] への暗黙の変換が必要なときに内部で呼ばれます。デフォルトでは定義されていません。
-説明のためここに記載してありますが、
-このメソッドは実際には Object クラスには定義されていません。
-必要に応じてサブクラスで定義すべきものです。
+説明のためここに記載してありますが、このメソッドは実際には Object クラスには定義されていません。必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する条件は、
* 整数が使われるすべての場面で代置可能であるような、
- * 整数そのものとみなせるようなもの
-という厳しいものになっています。
+ * 整数そのものとみなせるようなものという厳しいものになっています。
class Foo
def to_int
@@ -525,12 +489,9 @@ singleton_methods(false) は、[[m:Object#methods]](false) と同じです。
--- to_proc -> Proc
#@#nomethod
-オブジェクトの [[c:Proc]] への暗黙の変換が必要なときに内部で呼ばれます。
-デフォルトでは定義されていません。
+オブジェクトの [[c:Proc]] への暗黙の変換が必要なときに内部で呼ばれます。デフォルトでは定義されていません。
-説明のためここに記載してありますが、
-このメソッドは実際には Object クラスには定義されていません。
-必要に応じてサブクラスで定義すべきものです。
+説明のためここに記載してありますが、このメソッドは実際には Object クラスには定義されていません。必要に応じてサブクラスで定義すべきものです。
def doing
yield
@@ -548,17 +509,13 @@ singleton_methods(false) は、[[m:Object#methods]](false) と同じです。
--- to_io -> IO
#@#nomethod
-オブジェクトの [[c:IO]] への暗黙の変換が必要なときに内部で呼ばれます。
-デフォルトでは定義されていません。
+オブジェクトの [[c:IO]] への暗黙の変換が必要なときに内部で呼ばれます。デフォルトでは定義されていません。
-説明のためここに記載してありますが、
-このメソッドは実際には Object クラスには定義されていません。
-必要に応じてサブクラスで定義すべきものです。
+説明のためここに記載してありますが、このメソッドは実際には Object クラスには定義されていません。必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する条件は、
* IOオブジェクトが使われるすべての場面で代置可能であるような、
- * IOオブジェクトそのものとみなせるようなもの
-という厳しいものになっています。
+ * IOオブジェクトそのものとみなせるようなものという厳しいものになっています。
#@#例
@@ -566,17 +523,13 @@ singleton_methods(false) は、[[m:Object#methods]](false) と同じです。
--- to_regexp -> Regexp
#@#nomethod
-オブジェクトの [[c:Regexp]] への暗黙の変換が必要なときに内部で呼ばれます。
-デフォルトでは定義されていません。
+オブジェクトの [[c:Regexp]] への暗黙の変換が必要なときに内部で呼ばれます。デフォルトでは定義されていません。
-説明のためここに記載してありますが、
-このメソッドは実際には Object クラスには定義されていません。
-必要に応じてサブクラスで定義すべきものです。
+説明のためここに記載してありますが、このメソッドは実際には Object クラスには定義されていません。必要に応じてサブクラスで定義すべきものです。
このメソッドを定義する条件は、
* 正規表現が使われるすべての場面で代置可能であるような、
- * 正規表現そのものとみなせるようなもの
-という厳しいものになっています。
+ * 正規表現そのものとみなせるようなものという厳しいものになっています。
class Foo
def to_regexp
@@ -599,8 +552,7 @@ singleton_methods(false) は、[[m:Object#methods]](false) と同じです。
[[m:Enumerator.new]](self, method, *args) を返します。
#@since 2.0.0
-ブロックを指定した場合は [[m:Enumerator#size]] がブロックの評価結果を返
-します。ブロックパラメータは引数 args です。
+ブロックを指定した場合は [[m:Enumerator#size]] がブロックの評価結果を返します。ブロックパラメータは引数 args です。
#@end
#@else
@@ -667,8 +619,7 @@ singleton_methods(false) は、[[m:Object#methods]](false) と同じです。
self を引数としてブロックを評価し、self を返します。
-メソッドチェインの途中で直ちに操作結果を表示するために
-メソッドチェインに "入り込む" ことが、このメソッドの主目的です。
+メソッドチェインの途中で直ちに操作結果を表示するためにメソッドチェインに "入り込む" ことが、このメソッドの主目的です。
(1..10) .tap {|x| puts "original: #{x}" }
.to_a .tap {|x| puts "array: #{x}" }
@@ -700,25 +651,18 @@ self を引数としてブロックを評価し、ブロックの結果を返し
--- id -> Integer
#@end
-各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し
-てどのような整数が割り当てられるかは不定です。
+各オブジェクトに対して一意な整数を返します。あるオブジェクトに対してどのような整数が割り当てられるかは不定です。
-Rubyでは、(Garbage Collectされていない)アクティブなオブジェクト間で
-重複しない整数(object_id)が各オブジェクトにひとつずつ割り当てられています。この
-メソッドはその値を返します。
+Rubyでは、(Garbage Collectされていない)アクティブなオブジェクト間で重複しない整数(object_id)が各オブジェクトにひとつずつ割り当てられています。このメソッドはその値を返します。
-[[c:TrueClass]], [[c:FalseClass]], [[c:NilClass]], [[c:Symbol]], [[c:Fixnum]] クラス
-のインスタンスなど Immutable(変更不可)なオブジェクトの一部は同じ内容ならば必ず同じ object_id になります。
+[[c:TrueClass]], [[c:FalseClass]], [[c:NilClass]], [[c:Symbol]], [[c:Fixnum]] クラスのインスタンスなど Immutable(変更不可)なオブジェクトの一部は同じ内容ならば必ず同じ object_id になります。
-これは、Immutable ならば複数の場所から参照されても`破壊的操作'による問題が発生しないので、
-同じ内容のインスタンスを複数生成しないという内部実装が理由です。
+これは、Immutable ならば複数の場所から参照されても`破壊的操作'による問題が発生しないので、同じ内容のインスタンスを複数生成しないという内部実装が理由です。
#@if (version < "1.9.1")
[[m:Symbol#to_i]]で得られる整数と object_id は別物です。
-id メソッドの再定義に備えて別名 __id__ が用意されて
-おり、ライブラリでは後者の利用が推奨されます。また __id__ を
-再定義すべきではありません。
+id メソッドの再定義に備えて別名 __id__ が用意されており、ライブラリでは後者の利用が推奨されます。また __id__ を再定義すべきではありません。
id は obsolete なので、object_id か __id__ を使用してください。
#@end
@@ -742,19 +686,15 @@ id は obsolete なので、object_id か __id__ を使用してください。
--- hash -> Integer
-オブジェクトのハッシュ値を返します。[[c:Hash]] クラスでオブジェク
-トを格納するのに用いられています。
+オブジェクトのハッシュ値を返します。[[c:Hash]] クラスでオブジェクトを格納するのに用いられています。
メソッド hash は [[m:Object#eql?]] と組み合わせて Hash クラスで利用されます。その際
A.eql?(B) ならば A.hash == B.hash
-の関係を必ず満たしていなければいけません。eql? を再定義した時には必ずこちらも合わせ
-て再定義してください。
+の関係を必ず満たしていなければいけません。eql? を再定義した時には必ずこちらも合わせて再定義してください。
-デフォルトでは、[[m:Object#object_id]] と同じ値を返します。
-ただし、[[c:Fixnum]], [[c:Symbol]], [[c:String]] だけは組込みのハッ
-シュ関数が使用されます(これを変えることはできません)。
+デフォルトでは、[[m:Object#object_id]] と同じ値を返します。ただし、[[c:Fixnum]], [[c:Symbol]], [[c:String]] だけは組込みのハッシュ関数が使用されます(これを変えることはできません)。
hash を再定義する場合は、一様に分布する任意の整数を返すようにします。
@@ -779,8 +719,7 @@ hash を再定義する場合は、一様に分布する任意の整数を返す
--- ===(other) -> bool
メソッド [[m:Object#==]] の別名です。
-case 式で使用されます。このメソッドは case 式での振る舞いを考慮して、
-各クラスの性質に合わせて再定義すべきです。
+case 式で使用されます。このメソッドは case 式での振る舞いを考慮して、各クラスの性質に合わせて再定義すべきです。
一般的に所属性のチェックを実現するため適宜再定義されます。
@@ -895,16 +834,12 @@ self#=~(obj) を反転した結果と同じ結果を返します。
--- extend(*modules) -> self
-引数で指定したモジュールのインスタンスメソッドを self の特異
-メソッドとして追加します。
+引数で指定したモジュールのインスタンスメソッドを self の特異メソッドとして追加します。
-[[m:Module#include]] は、クラス(のインスタンス)に機能を追加します
-が、extend は、ある特定のオブジェクトだけにモジュールの機能を追加
-したいときに使用します。
+[[m:Module#include]] は、クラス(のインスタンス)に機能を追加しますが、extend は、ある特定のオブジェクトだけにモジュールの機能を追加したいときに使用します。
#@if (version >= "1.8.0")
-引数に複数のモジュールを指定した場合、最後
-の引数から逆順に extend を行います。
+引数に複数のモジュールを指定した場合、最後の引数から逆順に extend を行います。
#@end
@param modules モジュールを任意個指定します(クラスは不可)。
@@ -935,11 +870,9 @@ self#=~(obj) を反転した結果と同じ結果を返します。
p Klass.new.a #=> "ok Foo"
p Klass.b #=> "ok Bar"
-extend の機能は、「特異クラスに対する [[m:Module#include]]」
-と言い替えることもできます。
+extend の機能は、「特異クラスに対する [[m:Module#include]]」と言い替えることもできます。
#@since 1.8.0
-ただしその場合、フック用のメソッド
-が [[m:Module#extended]] ではなく [[m:Module#included]] になるという違いがあります。
+ただしその場合、フック用のメソッドが [[m:Module#extended]] ではなく [[m:Module#included]] になるという違いがあります。
#@end
# obj.extend Foo, Bar とほぼ同じ
@@ -957,14 +890,12 @@ extend の機能は、「特異クラスに対する [[m:Module#include]]」
オブジェクトを人間が読める形式に変換した文字列を返します。
-組み込み関数 [[m:Kernel.#p]] は、このメソッドの結果を使用して
-オブジェクトを表示します。
+組み込み関数 [[m:Kernel.#p]] は、このメソッドの結果を使用してオブジェクトを表示します。
[ 1, 2, 3..4, 'five' ].inspect # => "[1, 2, 3..4, \"five\"]"
Time.new.inspect # => "2008-03-08 19:43:39 +0900"
-inspect メソッドをオーバーライドしなかった場合、クラス名とインスタンス
-変数の名前、値の組を元にした文字列を返します。
+inspect メソッドをオーバーライドしなかった場合、クラス名とインスタンス変数の名前、値の組を元にした文字列を返します。
class Foo
end
@@ -978,9 +909,7 @@ inspect メソッドをオーバーライドしなかった場合、クラス名
Bar.new.inspect # => "#<Bar:0x0300c868 @bar=1>"
#@until 2.0.0
-また、to_s メソッドをオーバーライドしていた場合は to_s メソッドの実行結
-果を返します。(ただし、2.0 で to_s メソッドは実行されなくなった点に注意
-してください)
+また、to_s メソッドをオーバーライドしていた場合は to_s メソッドの実行結果を返します。(ただし、2.0 で to_s メソッドは実行されなくなった点に注意してください)
class Baz
def to_s
@@ -1089,17 +1018,14 @@ inspect メソッドをオーバーライドしなかった場合、クラス名
--- __send__(name, *args) -> object
--- __send__(name, *args) { .... } -> object
-オブジェクトのメソッド name を args を引数に
-して呼び出し、メソッドの実行結果を返します。
+オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの実行結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
-send が再定義された場合に備えて別名 __send__ も
-用意されており、ライブラリではこちらを使うべきです。また
+send が再定義された場合に備えて別名 __send__ も用意されており、ライブラリではこちらを使うべきです。また
__send__ は再定義すべきではありません。
-send, __send__ は、メソッドの呼び出し制限
-にかかわらず任意のメソッドを呼び出せます。
+send, __send__ は、メソッドの呼び出し制限にかかわらず任意のメソッドを呼び出せます。
[[ref:d:spec/def#limit]] も参照してください。
@param name 文字列か[[c:Symbol]] で指定するメソッド名です。
@@ -1132,8 +1058,7 @@ send, __send__ は、メソッドの呼び出し制限
#@since 1.9.1
--- public_send(name, *args) -> object
-オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ
-ドの実行結果を返します。
+オブジェクトの public メソッド name を args を引数にして呼び出し、メソッドの実行結果を返します。
1.public_send(:+, 2) # => 3
@@ -1157,18 +1082,12 @@ send, __send__ は、メソッドの呼び出し制限
を定義している場合には、そのメソッドの結果が書き出されます。
#@since 1.8.0
-バージョン1.8.0以降では[[m:Object#marshal_dump]], [[m:Object#marshal_load]]の使用
-が推奨されます。 Marshal.dump するオブジェクトが _dump と marshal_dump の両方の
-メソッドを持つ場合は marshal_dump が優先されます。
+バージョン1.8.0以降では[[m:Object#marshal_dump]], [[m:Object#marshal_load]]の使用が推奨されます。 Marshal.dump するオブジェクトが _dump と marshal_dump の両方のメソッドを持つ場合は marshal_dump が優先されます。
#@end
-メソッド _dump は引数として再帰を制限するレベル limit を受
-け取り、オブジェクトを文字列化したものを返します。
+メソッド _dump は引数として再帰を制限するレベル limit を受け取り、オブジェクトを文字列化したものを返します。
-インスタンスがメソッド _dump を持つクラスは必ず同じフォー
-マットを読み戻すクラスメソッド _load を定義する必要があり
-ます。_load はオブジェクトを表現した文字列を受け取り、それ
-をオブジェクトに戻したものを返す必要があります。
+インスタンスがメソッド _dump を持つクラスは必ず同じフォーマットを読み戻すクラスメソッド _load を定義する必要があります。_load はオブジェクトを表現した文字列を受け取り、それをオブジェクトに戻したものを返す必要があります。
@param limit 再帰の制限レベルを表す整数です。
@return オブジェクトを文字列化したものを返すように定義すべきです。
@@ -1192,13 +1111,8 @@ send, __send__ は、メソッドの呼び出し制限
result = Marshal.load(dms) #=> "\004\b[\a\"\bfoo\"\bbar" # self._load の引数
p result #=> #<Foo:0xbaf07c @foo=["foo", "bar"]>
-インスタンス変数の情報は普通マーシャルデータに含まれるので、上例
-のように _dump を定義する必要はありません(ただし _dump を定義すると
-インスタンス変数の情報は dump されなくなります)。
-_dump/_load はより高度な制御を行いたい場合や拡張ライブラリで定義し
-たクラスのインスタンスがインスタンス変数以外に情報を保持する場合に
-利用します。(例えば、クラス [[c:Time]] は、_dump/_load を定義して
-います)
+インスタンス変数の情報は普通マーシャルデータに含まれるので、上例のように _dump を定義する必要はありません(ただし _dump を定義するとインスタンス変数の情報は dump されなくなります)。
+_dump/_load はより高度な制御を行いたい場合や拡張ライブラリで定義したクラスのインスタンスがインスタンス変数以外に情報を保持する場合に利用します。(例えば、クラス [[c:Time]] は、_dump/_load を定義しています)
#@since 1.8.0
@see [[m:Object#marshal_dump]], [[m:Object#marshal_load]], [[m:Class#_load]]
@@ -1209,11 +1123,9 @@ _dump/_load はより高度な制御を行いたい場合や拡張ライブラ
[[m:Marshal.#dump]] を制御するメソッドです。
-Marshal.dump(some) において、出力するオブジェクト some がメソッド marshal_dump を
-持つ場合には、その返り値がダンプされたものが Marshal.dump(some) の返り値となります。
+Marshal.dump(some) において、出力するオブジェクト some がメソッド marshal_dump を持つ場合には、その返り値がダンプされたものが Marshal.dump(some) の返り値となります。
-marshal_dump/marshal_load の仕組みは Ruby 1.8.0 から導入されました。
-これから書くプログラムでは _dump/_load ではなく
+marshal_dump/marshal_load の仕組みは Ruby 1.8.0 から導入されました。これから書くプログラムでは _dump/_load ではなく
marshal_dump/marshal_load を使うべきです。
@return 任意のオブジェクトで marshal_load の引数に利用できます。
@@ -1237,16 +1149,11 @@ marshal_dump/marshal_load を使うべきです。
result = Marshal.load(dms) #=> ["foo", "bar"] # marshal_load の引数
p result #=> #<Foo:0xbaf2ac @foo=["foo", "bar"]>
-インスタンス変数の情報は普通マーシャルデータに含まれるので、
-上例のように marshal_dump を定義する必要はありません
-(ただし marshal_dump を定義するとインスタンス変数の情報は
-ダンプされなくなるので、marshal_dump/marshal_load で扱う必要があります)。
-marshal_dump/marshal_load はより高度な制御を行いたい場合や
-拡張ライブラリで定義したクラスのインスタンスがインスタンス変数以外
-に情報を保持する場合に利用します。
+インスタンス変数の情報は普通マーシャルデータに含まれるので、上例のように marshal_dump を定義する必要はありません
+(ただし marshal_dump を定義するとインスタンス変数の情報はダンプされなくなるので、marshal_dump/marshal_load で扱う必要があります)。
+marshal_dump/marshal_load はより高度な制御を行いたい場合や拡張ライブラリで定義したクラスのインスタンスがインスタンス変数以外に情報を保持する場合に利用します。
-特に、marshal_dump/marshal_load を定義したオブジェクトは
-特異メソッドが定義されていてもマーシャルできるようになります
+特に、marshal_dump/marshal_load を定義したオブジェクトは特異メソッドが定義されていてもマーシャルできるようになります
(特異メソッドの情報が自動的に dump されるようになるわけではなく、
marshal_dump/marshal_load によりそれを実現する余地があるということです)。
@@ -1256,13 +1163,10 @@ marshal_dump/marshal_load によりそれを実現する余地があるという
[[m:Marshal.#load]] を制御するメソッドです。
-some のダンプ結果(Marshal.dump(some)) をロードする(Marshal.load(Marshal.dump(some)))に
-は some がメソッド marshal_load を持っていなければなりません。
-このとき、marshal_dump の返り値が marshal_load の引数に利用されます。
+some のダンプ結果(Marshal.dump(some)) をロードする(Marshal.load(Marshal.dump(some)))には some がメソッド marshal_load を持っていなければなりません。このとき、marshal_dump の返り値が marshal_load の引数に利用されます。
marshal_load 時の self は、生成されたばかり([[m:Class#allocate]] されたばかり) の状態です。
-marshal_dump/marshal_load の仕組みは Ruby 1.8.0 から導入されました。
-これから書くプログラムでは _dump/_load ではなく
+marshal_dump/marshal_load の仕組みは Ruby 1.8.0 から導入されました。これから書くプログラムでは _dump/_load ではなく
marshal_dump/marshal_load を使うべきです。
@param obj marshal_dump の返り値のコピーです。
@@ -1329,14 +1233,12 @@ clone や dup は浅い(shallow)コピーであることに注意してくださ
=== 深いコピーと浅いコピー
-clone や dup はオブジェクト自身を複製するだけで、オブジェクトの指し
-ている先(たとえば配列の要素など)までは複製しません。これを浅いコピー(shallow copy)といいます。
+clone や dup はオブジェクト自身を複製するだけで、オブジェクトの指している先(たとえば配列の要素など)までは複製しません。これを浅いコピー(shallow copy)といいます。
深い(deep)コピーが必要な場合には、
[[c:Marshal]]モジュールを利用して
Marshal.load(Marshal.dump(obj))
-このように複製を作成する方法があります。ただしMarshal出来ないオブジェクトが
-含まれている場合には使えません。
+このように複製を作成する方法があります。ただしMarshal出来ないオブジェクトが含まれている場合には使えません。
obj = ["a","b","c"]
@@ -1364,10 +1266,8 @@ clone や dup はオブジェクト自身を複製するだけで、オブジェ
#@end
いったん凍結されたオブジェクトを元に戻す方法はありません。
-凍結されるのはオブジェクトであり、変数ではありません。代入などで変数の指す
-オブジェクトが変化してしまうことは freeze では防げません。 freeze が防ぐのは、
-`破壊的な操作' と呼ばれるもの一般です。変数への参照自体を凍結したい
-場合は、グローバル変数なら [[m:Kernel.#trace_var]] が使えます。
+凍結されるのはオブジェクトであり、変数ではありません。代入などで変数の指すオブジェクトが変化してしまうことは freeze では防げません。 freeze が防ぐのは、
+`破壊的な操作' と呼ばれるもの一般です。変数への参照自体を凍結したい場合は、グローバル変数なら [[m:Kernel.#trace_var]] が使えます。
@return self を返します。
@@ -1382,8 +1282,7 @@ clone や dup はオブジェクト自身を複製するだけで、オブジェ
a2.replace("bar") # can't modify frozen String (FrozenError)
#@end
-凍結を解除することはできませんが、[[m:Object#dup]] を使えばほぼ同じ内容の凍結されていない
-オブジェクトを得ることはできます。
+凍結を解除することはできませんが、[[m:Object#dup]] を使えばほぼ同じ内容の凍結されていないオブジェクトを得ることはできます。
a = [1].freeze
p a.frozen? #=> true
@@ -1436,8 +1335,7 @@ clone や dup はオブジェクト自身を複製するだけで、オブジェ
#@since 2.1.0
--- singleton_method(name) -> Method
-オブジェクトの特異メソッド name をオブジェクト化した [[c:Method]] オブ
-ジェクトを返します。
+オブジェクトの特異メソッド name をオブジェクト化した [[c:Method]] オブジェクトを返します。
@param name メソッド名を[[c:Symbol]] または[[c:String]]で指定します。
@raise NameError 定義されていないメソッド名を引数として与えると発生します。
@@ -1498,19 +1396,16 @@ self に特異メソッド name を定義します。
オブジェクトがメソッド name を持つとき真を返します。
-オブジェクトが メソッド name を持つというのは、
-オブジェクトが メソッド name に応答することができることをいいます。
+オブジェクトが メソッド name を持つというのは、オブジェクトが メソッド name に応答することができることをいいます。
#@since 1.9.2
-Windows での [[m:Process.fork]] や GNU/Linux での [[m:File.lchmod]] の
-ような [[c:NotImplementedError]] が発生する場合は false を返します。
+Windows での [[m:Process.fork]] や GNU/Linux での [[m:File.lchmod]] のような [[c:NotImplementedError]] が発生する場合は false を返します。
※ NotImplementedError が発生する場合に false を返すのは
Rubyの組み込みライブラリや標準ライブラリなど、C言語で実装されているメソッドのみです。
Rubyで実装されたメソッドで NotImplementedError が発生する場合は true を返します。
-メソッドが定義されていない場合は、[[m:Object#respond_to_missing?]] を呼
-び出してその結果を返します。
+メソッドが定義されていない場合は、[[m:Object#respond_to_missing?]] を呼び出してその結果を返します。
#@end
@param name [[c:Symbol]] または文字列で指定するメソッド名です。
@@ -1593,8 +1488,7 @@ Rubyで実装されたメソッドで NotImplementedError が発生する場合
自身が symbol で表されるメソッドに対し
[[m:BasicObject#method_missing]] で反応するつもりならば真を返します。
-[[m:Object#respond_to?]] はメソッドが定義されていない場合、
-デフォルトでこのメソッドを呼びだし問合せます。
+[[m:Object#respond_to?]] はメソッドが定義されていない場合、デフォルトでこのメソッドを呼びだし問合せます。
[[m:BasicObject#method_missing]] を override した場合にこのメソッドも
override されるべきです。
@@ -1611,8 +1505,7 @@ false を返します。
#@since 2.0.0
--- remove_instance_variable(name) -> object
-オブジェクトからインスタンス変数 name を取り除き、そのインス
-タンス変数に設定されていた値を返します。
+オブジェクトからインスタンス変数 name を取り除き、そのインスタンス変数に設定されていた値を返します。
@param name 削除するインスタンス変数の名前をシンボルか文字列で指定します。
@raise NameError オブジェクトがインスタンス変数 name を持たない場合に発生します。
@@ -1632,11 +1525,9 @@ false を返します。
#@until 1.9.1
--- method_missing(name, *args) -> object
-呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド
-を呼び出します。
+呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッドを呼び出します。
-呼び出しに失敗したメソッドの名前 ([[c:Symbol]]) が name に
-その時の引数が第二引数以降に渡されます。
+呼び出しに失敗したメソッドの名前 ([[c:Symbol]]) が name にその時の引数が第二引数以降に渡されます。
デフォルトではこのメソッドは例外 [[c:NoMethodError]] を発生させます。
@@ -1693,9 +1584,7 @@ obj.instance_of?(c) が成立する時には、常に obj.kind_of?(c) も成立
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
-また、オブジェクトがモジュール mod をインクルードしたクラスかそのサブクラス
-のインスタンスである場合にも真を返します。
-上記のいずれでもない場合に false を返します。
+また、オブジェクトがモジュール mod をインクルードしたクラスかそのサブクラスのインスタンスである場合にも真を返します。上記のいずれでもない場合に false を返します。
@param mod クラスやモジュールなど、[[c:Module]]かそのサブクラスのインスタンスです。
@@ -1745,8 +1634,7 @@ obj.instance_of?(c) が成立する時には、常に obj.kind_of?(c) も成立
オブジェクトの「汚染マーク」をセットします。
-環境変数([[c:ENV]]で得られる文字列)など一部のオブジェクトは最初から汚染されています。
-オブジェクトの汚染に関しては[[d:spec/safelevel]]を参照してください。
+環境変数([[c:ENV]]で得られる文字列)など一部のオブジェクトは最初から汚染されています。オブジェクトの汚染に関しては[[d:spec/safelevel]]を参照してください。
$SAFE = 1
@@ -1781,8 +1669,7 @@ obj.instance_of?(c) が成立する時には、常に obj.kind_of?(c) も成立
オブジェクトの「汚染マーク」を取り除きます。
-汚染マークを取り除くことによる危険性はプログラマが責任を負う必要が
-あります。
+汚染マークを取り除くことによる危険性はプログラマが責任を負う必要があります。
オブジェクトの汚染に関しては[[d:spec/safelevel]]を参照してください。
@@ -1815,8 +1702,7 @@ obj.instance_of?(c) が成立する時には、常に obj.kind_of?(c) も成立
#@since 1.9.2
--- singleton_class -> Class
-レシーバの特異クラスを返します。
-まだ特異クラスがなければ、新しく作成します。
+レシーバの特異クラスを返します。まだ特異クラスがなければ、新しく作成します。
レシーバが nil か true か false なら、それぞれ NilClass, TrueClass,
FalseClass を返します。
@@ -1854,18 +1740,14 @@ self を返します。
ユーザ定義クラスのオブジェクト初期化メソッド。
-このメソッドは [[m:Class#new]] から新しく生成されたオブ
-ジェクトの初期化のために呼び出されます。他の言語のコンストラクタに相当します。
-デフォルトの動作ではなにもしません。
+このメソッドは [[m:Class#new]] から新しく生成されたオブジェクトの初期化のために呼び出されます。他の言語のコンストラクタに相当します。デフォルトの動作ではなにもしません。
initialize には
[[m:Class#new]] に与えられた引数がそのまま渡されます。
-サブクラスではこのメソッドを必要に応じて再定義されること
-が期待されています。
+サブクラスではこのメソッドを必要に応じて再定義されることが期待されています。
-initialize という名前のメソッドは自動的に private に設定され
-ます。
+initialize という名前のメソッドは自動的に private に設定されます。
@param args 初期化時の引数です。
@param block 初期化時のブロック引数です。必須ではありません。
@@ -1898,21 +1780,16 @@ initialize という名前のメソッドは自動的に private に設定され
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
-このメソッドは self を obj の内容で置き換えます。ただ
-し、self のインスタンス変数や特異メソッドは変化しません。
+このメソッドは self を obj の内容で置き換えます。ただし、self のインスタンス変数や特異メソッドは変化しません。
[[m:Object#clone]], [[m:Object#dup]]の内部で使われています。
-initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた
-めに使用(定義)されます。例えば C 言語でクラスを実装する場合、情報
-をインスタンス変数に保持させない場合がありますが、そういった内部情
-報を initialize_copy でコピーするよう定義しておくことで、dup や clone
+initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするために使用(定義)されます。例えば C 言語でクラスを実装する場合、情報をインスタンス変数に保持させない場合がありますが、そういった内部情報を initialize_copy でコピーするよう定義しておくことで、dup や clone
を再定義する必要がなくなります。
デフォルトの Object#initialize_copy は、 freeze チェックおよび型のチェックを行い self
を返すだけのメソッドです。
-initialize_copy という名前のメソッドは
-自動的に private に設定されます。
+initialize_copy という名前のメソッドは自動的に private に設定されます。
@raise TypeError レシーバが freeze されているか、obj のクラスがレシーバ
のクラスと異なる場合に発生します。
@@ -1926,9 +1803,7 @@ initialize_copy を呼び
obj2 = obj.class.allocate
obj2.initialize_copy(obj)
-obj2 に対してさらに obj の汚染状態、インスタンス変数、ファイナライ
-ザをコピーすることで複製を作ります。 obj.clone は、さらに
-特異メソッドのコピーも行います。
+obj2 に対してさらに obj の汚染状態、インスタンス変数、ファイナライザをコピーすることで複製を作ります。 obj.clone は、さらに特異メソッドのコピーも行います。
obj = Object.new
class <<obj
@@ -1972,8 +1847,7 @@ obj2 に対してさらに obj の汚染状態、インスタンス変数、フ
自身が symbol で表されるメソッドに対し
[[m:BasicObject#method_missing]] で反応するつもりならば真を返します。
-[[m:Object#respond_to?]] はメソッドが定義されていない場合、
-デフォルトでこのメソッドを呼びだし問合せます。
+[[m:Object#respond_to?]] はメソッドが定義されていない場合、デフォルトでこのメソッドを呼びだし問合せます。
[[m:BasicObject#method_missing]] を override した場合にこのメソッドも
override されるべきです。
@@ -1989,8 +1863,7 @@ false を返します。
#@until 2.0.0
--- remove_instance_variable(name) -> object
-オブジェクトからインスタンス変数 name を取り除き、そのインス
-タンス変数に設定されていた値を返します。
+オブジェクトからインスタンス変数 name を取り除き、そのインスタンス変数に設定されていた値を返します。
@param name 削除するインスタンス変数の名前をシンボルか文字列で指定します。
@raise NameError オブジェクトがインスタンス変数 name を持たない場合に発生します。
diff --git a/refm/api/src/_builtin/ObjectSpace b/refm/api/src/_builtin/ObjectSpace
index 1049f646..de11042b 100644
--- a/refm/api/src/_builtin/ObjectSpace
+++ b/refm/api/src/_builtin/ObjectSpace
@@ -22,14 +22,11 @@
--- define_finalizer(obj, proc) -> Array
--- define_finalizer(obj) {|id| ...} -> Array
-obj が解放されるときに実行されるファイナライザ proc を
-登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
-はなく追加登録されます。現在のセーフレベルと proc を配列にして返します。
+obj が解放されるときに実行されるファイナライザ proc を登録します。同じオブジェクトについて複数回呼ばれたときは置き換えではなく追加登録されます。現在のセーフレベルと proc を配列にして返します。
ブロックを指定した場合は、そのブロックがファイナライザになります。
#@since 1.9.3
-obj の回収時にブロックは obj の ID ([[m:BasicObject#__id__]])を引数とし
-て実行されます。
+obj の回収時にブロックは obj の ID ([[m:BasicObject#__id__]])を引数として実行されます。
#@else
obj の回収時にブロックは obj の ID ([[m:Object#__id__]])を引数として実行されます。
#@end
@@ -53,12 +50,9 @@ obj の回収時にブロックは obj の ID ([[m:Object#__id__]])を引数と
Foo.new
GC.start
-これは、渡された proc の self が obj を参照しつ
-づけるため。そのオブジェクトが GC の対象になりません。
+これは、渡された proc の self が obj を参照しつづけるため。そのオブジェクトが GC の対象になりません。
-[[lib:tempfile]] は、ファイナライザの使い方の
-良い例になっています。これは、クラスのコンテキストで [[c:Proc]] を
-生成することで上記の問題を回避しています。
+[[lib:tempfile]] は、ファイナライザの使い方の良い例になっています。これは、クラスのコンテキストで [[c:Proc]] を生成することで上記の問題を回避しています。
class Bar
def Bar.callback
@@ -73,10 +67,7 @@ obj の回収時にブロックは obj の ID ([[m:Object#__id__]])を引数と
Bar.new
GC.start
-proc の呼び出しで発生した大域脱出(exitや例外)は無視されます。
-これは、スクリプトのメイン処理が GC の発生によって非同期に中断され
-るのを防ぐためです。不安なうちは -d オプションで
-事前に例外の発生の有無を確認しておいた方が良いでしょう。
+proc の呼び出しで発生した大域脱出(exitや例外)は無視されます。これは、スクリプトのメイン処理が GC の発生によって非同期に中断されるのを防ぐためです。不安なうちは -d オプションで事前に例外の発生の有無を確認しておいた方が良いでしょう。
class Baz
def initialize
@@ -108,10 +99,7 @@ proc の呼び出しで発生した大域脱出(exitや例外)は無視されま
#@end
#@end
-指定された klass と [[m:Object#kind_of?]] の関係にある全ての
-オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
-ジェクトに対して繰り返します。
-繰り返した数を返します。
+指定された klass と [[m:Object#kind_of?]] の関係にある全てのオブジェクトに対して繰り返します。引数が省略された時には全てのオブジェクトに対して繰り返します。繰り返した数を返します。
#@since 1.8.7
ブロックが与えられなかった場合は、
@@ -130,9 +118,7 @@ proc の呼び出しで発生した大域脱出(exitや例外)は無視されま
* [[c:FalseClass]]
* [[c:NilClass]]
-とくに、klass に [[c:Fixnum]] や [[c:Symbol]] などのクラスを指定した場合は、
-何も繰り返さないことになります。
-なお、[[c:Symbol]] については、かわりに [[m:Symbol.all_symbols]] が使用できます。
+とくに、klass に [[c:Fixnum]] や [[c:Symbol]] などのクラスを指定した場合は、何も繰り返さないことになります。なお、[[c:Symbol]] については、かわりに [[m:Symbol.all_symbols]] が使用できます。
@param klass クラスかモジュールを指定します。
@@ -152,9 +138,7 @@ proc の呼び出しで発生した大域脱出(exitや例外)は無視されま
@param immediate_sweep sweep を遅らせる(Lazy Sweep を行う)場合は false
を、そうでない場合は true を指定します。
-注意: これらのキーワード引数は Ruby の実装やバージョンによって異なりま
-す。将来のバージョンとの互換性も保証されません。また、Ruby の実装がサポー
-トしていない場合はキーワード引数を指定しても無視される可能性があります。
+注意: これらのキーワード引数は Ruby の実装やバージョンによって異なります。将来のバージョンとの互換性も保証されません。また、Ruby の実装がサポートしていない場合はキーワード引数を指定しても無視される可能性があります。
#@end
--- undefine_finalizer(obj) -> object
@@ -188,9 +172,7 @@ obj を返します。
proc をファイナライザとして設定します。
proc を返します。
-[[m:ObjectSpace.#call_finalizer]] で指定したオブジェクトが解放され
-る時、そのオブジェクトの ID(c.f [[m:Object#__id__]])を引数に
-ファイナライザが評価されます。
+[[m:ObjectSpace.#call_finalizer]] で指定したオブジェクトが解放される時、そのオブジェクトの ID(c.f [[m:Object#__id__]])を引数にファイナライザが評価されます。
@param proc ファイナライザとしたい Proc オブジェクトを指定します。
@@ -212,8 +194,7 @@ obj を返します。
--- remove_finalizer(proc) -> Proc
このメソッドは obsolete です。代わりに
-[[m:ObjectSpace.#undefine_finalizer]] を使用してくださ
-い。
+[[m:ObjectSpace.#undefine_finalizer]] を使用してください。
指定した proc をファイナライザから取り除きます。
proc を返します。
diff --git a/refm/api/src/_builtin/ObjectSpace__WeakMap b/refm/api/src/_builtin/ObjectSpace__WeakMap
index 6ae1ec8f..9e6d61c7 100644
--- a/refm/api/src/_builtin/ObjectSpace__WeakMap
+++ b/refm/api/src/_builtin/ObjectSpace__WeakMap
@@ -1,8 +1,7 @@
= class ObjectSpace::WeakMap
GC の対象になるオブジェクトへの weak reference を持つクラスです。主に
-[[c:WeakRef]] クラスの内部で使用されるため、[[lib:weakref]] ライブラリ
-経由で使用してください。
+[[c:WeakRef]] クラスの内部で使用されるため、[[lib:weakref]] ライブラリ経由で使用してください。
== Public Instance Methods
@@ -10,8 +9,7 @@ GC の対象になるオブジェクトへの weak reference を持つクラス
引数 key で指定されたオブジェクトが参照するオブジェクトを返します。
-参照先のオブジェクトが存在しない場合、GC されている場合、対象外のオブジェ
-クトを参照している場合に nil を返します。
+参照先のオブジェクトが存在しない場合、GC されている場合、対象外のオブジェクトを参照している場合に nil を返します。
@param key 参照元のオブジェクトを指定します。
diff --git a/refm/api/src/_builtin/Proc b/refm/api/src/_builtin/Proc
index 46315011..c9df7a0b 100644
--- a/refm/api/src/_builtin/Proc
+++ b/refm/api/src/_builtin/Proc
@@ -1,14 +1,11 @@
= class Proc < Object
-ブロックをコンテキスト(ローカル変数のスコープやスタックフ
-レーム)とともにオブジェクト化した手続きオブジェクトです。
+ブロックをコンテキスト(ローカル変数のスコープやスタックフレーム)とともにオブジェクト化した手続きオブジェクトです。
-Proc は ローカル変数のスコープを導入しないことを除いて
-名前のない関数のように使えます。ダイナミックローカル変数は
+Proc は ローカル変数のスコープを導入しないことを除いて名前のない関数のように使えます。ダイナミックローカル変数は
Proc ローカルの変数として使えます。
-Proc がローカル変数のスコープを保持していることは以下の例で
-変数 var を参照できていることからわかります。
+Proc がローカル変数のスコープを保持していることは以下の例で変数 var を参照できていることからわかります。
var = 1
$foo = Proc.new { var }
@@ -29,8 +26,7 @@ Proc がローカル変数のスコープを保持していることは以下の
ブロックをコンテキストとともにオブジェクト化して返します。
-ブロックを指定しなければ、このメソッドを呼び出したメソッドが
-ブロックを伴うときに、それを Proc オブジェクトとして生成して返します。
+ブロックを指定しなければ、このメソッドを呼び出したメソッドがブロックを伴うときに、それを Proc オブジェクトとして生成して返します。
def foo
pr = Proc.new
@@ -58,9 +54,7 @@ Proc がローカル変数のスコープを保持していることは以下の
from -:2:in `foo'
from -:4:in `<main>'
-Proc.new は、Proc#initialize が定義されていれば
-オブジェクトの初期化のためにこれを呼び出します。このことを
-除けば、[[m:Kernel.#proc]] と同じです。
+Proc.new は、Proc#initialize が定義されていればオブジェクトの初期化のためにこれを呼び出します。このことを除けば、[[m:Kernel.#proc]] と同じです。
== Instance Methods
@@ -74,8 +68,7 @@ Proc.new は、Proc#initialize が定義されていれば
手続きオブジェクトを実行してその結果を返します。
#@since 1.9.1
-引数の渡され方はオブジェクトの生成方法によって異なります。
-詳しくは [[m:Proc#lambda?]] を参照してください。
+引数の渡され方はオブジェクトの生成方法によって異なります。詳しくは [[m:Proc#lambda?]] を参照してください。
「===」は when の所に手続きを渡せるようにするためのものです。
@@ -198,8 +191,7 @@ self の文字列表現を返します。
--- curry(arity) -> Proc
Procをカリー化します
-カリー化したProcはいくつかの引数をとります。十分な数の引数が与えられると、元のProcに引数を渡し
-て実行し、結果を返します。引数の個数が足りないときは、部分適用したカリー化Procを返します。
+カリー化したProcはいくつかの引数をとります。十分な数の引数が与えられると、元のProcに引数を渡して実行し、結果を返します。引数の個数が足りないときは、部分適用したカリー化Procを返します。
@param arity 引数の個数を指定します
@return カリー化したProcオブジェクトを返します
@@ -252,8 +244,7 @@ Procをカリー化します
手続きオブジェクトの引数の取扱が厳密であるならば true を返します。
-引数の取扱の厳密さの意味は以下の例を参考にしてください。
-例:
+引数の取扱の厳密さの意味は以下の例を参考にしてください。例:
# lambda で生成した Proc オブジェクトでは true
lambda{}.lambda? # => true
# proc で生成した Proc オブジェクトでは false
@@ -309,8 +300,7 @@ Procをカリー化します
--- source_location -> [String, Integer] | nil
ソースコードのファイル名と行番号を配列で返します。
-その手続オブジェクトが ruby で定義されていない(つまりネイティブ
-である)場合は nil を返します。
+その手続オブジェクトが ruby で定義されていない(つまりネイティブである)場合は nil を返します。
#@until 1.9.2
[[m:Module.attr_reader]],
@@ -338,8 +328,7 @@ self のハッシュ値を返します。
--- parameters -> [object]
Proc オブジェクトの引数の情報を返します。
-Proc オブジェクトが引数を取らなければ空の配列を返します。引数を取る場合は、配列の配列を返し、
-各配列の要素は引数の種類に対応した以下のような Symbol と、引数名を表す Symbol の 2 要素です。
+Proc オブジェクトが引数を取らなければ空の配列を返します。引数を取る場合は、配列の配列を返し、各配列の要素は引数の種類に対応した以下のような Symbol と、引数名を表す Symbol の 2 要素です。
: :req
必須の引数
diff --git a/refm/api/src/_builtin/Process b/refm/api/src/_builtin/Process
index 665bcd42..da8ca771 100644
--- a/refm/api/src/_builtin/Process
+++ b/refm/api/src/_builtin/Process
@@ -2,11 +2,9 @@
UNIX のプロセスを管理するモジュールです。
-Process がプロセスを表現するクラスではなく、プロセスに対する操作
-をまとめたモジュールであることに注意してください。
+Process がプロセスを表現するクラスではなく、プロセスに対する操作をまとめたモジュールであることに注意してください。
-ユーザ ID・グループ ID を操作するシステムコールを直接呼ぶために [[c:Process::Sys]] が提供されています。
-ポータブルにユーザ ID・グループ ID を操作するためのモジュール [[c:Process::UID]], [[c:Process::GID]]
+ユーザ ID・グループ ID を操作するシステムコールを直接呼ぶために [[c:Process::Sys]] が提供されています。ポータブルにユーザ ID・グループ ID を操作するためのモジュール [[c:Process::UID]], [[c:Process::GID]]
も提供されています。
== Singleton Methods
@@ -32,18 +30,13 @@ Process がプロセスを表現するクラスではなく、プロセスに対
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
-を含む場合、shell 経由で実行されます。
-そうでなければインタプリタから直接実行されます。
+を含む場合、shell 経由で実行されます。そうでなければインタプリタから直接実行されます。
-引数が複数与えられた場合、第 2 引数以降は command に直接渡され、
-インタプリタから直接実行されます。
+引数が複数与えられた場合、第 2 引数以降は command に直接渡され、インタプリタから直接実行されます。
-第 1 引数が 2 要素の配列の場合、第 1 要素の文字列が実際に起動する
-プログラムのパスで、第 2 要素が「みせかけ」のプログラム名になります。
+第 1 引数が 2 要素の配列の場合、第 1 要素の文字列が実際に起動するプログラムのパスで、第 2 要素が「みせかけ」のプログラム名になります。
-MSDOS 環境の場合、command はサブシェル経由で実行されます。
-そうでない場合、command は [[man:exec(2)]] を使用して実行されるので元の
-プログラムからいくつかの環境を引き継ぎます。
+MSDOS 環境の場合、command はサブシェル経由で実行されます。そうでない場合、command は [[man:exec(2)]] を使用して実行されるので元のプログラムからいくつかの環境を引き継ぎます。
@param command 実行する外部コマンド。
@@ -120,9 +113,7 @@ MSDOS 環境の場合、command はサブシェル経由で実行されます。
#@since 1.8.5
--- getrlimit(resource) -> [Integer]
-カレントプロセスでのリソースの制限値を、整数の配列として返します。
-返り値は、現在の制限値 cur_limit と、制限値として設定可能な最大値 max_limit の
-配列 [cur_limit, max_limit] です。
+カレントプロセスでのリソースの制限値を、整数の配列として返します。返り値は、現在の制限値 cur_limit と、制限値として設定可能な最大値 max_limit の配列 [cur_limit, max_limit] です。
それぞれの limit が [[m:Process::RLIM_INFINITY]] と等しい場合、リソースに制限がないことを意味します。
@@ -233,8 +224,7 @@ MSDOS 環境の場合、command はサブシェル経由で実行されます。
カレントプロセスの実効グループ ID を gid に設定します。
-動作の詳細はプラットフォームに依存します。
-実効グループ ID 以外のグループ ID も変更されるかも知れません。
+動作の詳細はプラットフォームに依存します。実効グループ ID 以外のグループ ID も変更されるかも知れません。
@param gid 実効グループ ID を整数で指定します。
@@ -254,8 +244,7 @@ MSDOS 環境の場合、command はサブシェル経由で実行されます。
カレントプロセスの実効ユーザ ID を uid に設定します。
-動作の詳細はプラットフォームに依存します。
-実効ユーザ ID 以外のユーザ ID も変更されるかも知れません。
+動作の詳細はプラットフォームに依存します。実効ユーザ ID 以外のユーザ ID も変更されるかも知れません。
@param uid 実効ユーザ ID を整数で指定します。
@@ -275,8 +264,7 @@ MSDOS 環境の場合、command はサブシェル経由で実行されます。
カレントプロセスの実グループ ID を gid に設定します。
-動作の詳細はプラットフォームに依存します。
-実グループ ID 以外のグループ ID も変更されるかも知れません。
+動作の詳細はプラットフォームに依存します。実グループ ID 以外のグループ ID も変更されるかも知れません。
@param gid 実グループ ID を整数で指定します。
@@ -337,8 +325,7 @@ root だけがこのメソッドを呼ぶことができます。
--- ppid -> Integer
-親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終
-了した後は ppid は 1 (initの pid)になります。
+親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終了した後は ppid は 1 (initの pid)になります。
@see [[man:getppid(2)]]
@@ -352,8 +339,7 @@ root だけがこのメソッドを呼ぶことができます。
プロセスの実ユーザ ID を id に設定します。
-動作の詳細はプラットフォームに依存します。
-実ユーザ ID 以外のユーザ ID も変更されるかも知れません。
+動作の詳細はプラットフォームに依存します。実ユーザ ID 以外のユーザ ID も変更されるかも知れません。
@param id 実ユーザ ID を整数で指定します。
@@ -418,8 +404,7 @@ user が属するグループのリストを更新し、group をそのリスト
--- kill(signal, pid, *rest) -> Integer
pid で指定されたプロセスにシグナルを送ります。signal
-はシグナル番号か名前(文字列または[[c:Symbol]])で指定します。
-全てのシグナル送信に成功した場合、指定した pid の総数を返します。
+はシグナル番号か名前(文字列または[[c:Symbol]])で指定します。全てのシグナル送信に成功した場合、指定した pid の総数を返します。
@param signal シグナルを整数かその名前の文字列で指定します。負の値を持つシグナル(あるいはシグナル名の前に-)を指定すると、プロセスではなくプロセスグループにシグナルを送ります。
@@ -486,9 +471,7 @@ pid で指定されたプロセスにシグナルを送ります。signal
--- setpriority(which, who, prio) -> 0
-プロセス、プロセスグループ、
-ユーザのいずれかの現在のプライオリティを設定します
-。プライオリティの設定に成功した場合は 0 を返します。
+プロセス、プロセスグループ、ユーザのいずれかの現在のプライオリティを設定します。プライオリティの設定に成功した場合は 0 を返します。
@param which プライオリティを設定する対象の種類を以下の定数のいずれかで指定します。
@@ -504,8 +487,7 @@ pid で指定されたプロセスにシグナルを送ります。signal
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
-以下の例は呼び出したプロセス自身のプライオリティを 10 に下げます。
-すでに 10 よりもプライオリティが低く、
+以下の例は呼び出したプロセス自身のプライオリティを 10 に下げます。すでに 10 よりもプライオリティが低く、
Errno::EACCES となった場合には無視して実行を続けます。
begin
@@ -517,8 +499,7 @@ Errno::EACCES となった場合には無視して実行を続けます。
--- setsid -> Integer
-新しいセッションを作成して、tty を切り離します。デーモンを簡単に作
-ることができます。セッション ID を返します。
+新しいセッションを作成して、tty を切り離します。デーモンを簡単に作ることができます。セッション ID を返します。
@raise Errno::EXXX セッションの作成に失敗した場合に発生します。
@@ -548,8 +529,7 @@ Errno::EACCES となった場合には無視して実行を続けます。
--- times -> Struct::Tms
自身のプロセスとその子プロセスが消費したユーザ/システム CPU 時間の積算を
-[[c:Struct::Tms]] オブジェクトで返します。
-時間の単位は秒で、浮動小数点数で与えられます。
+[[c:Struct::Tms]] オブジェクトで返します。時間の単位は秒で、浮動小数点数で与えられます。
@raise NotImplementedError メソッドが現在のプラットフォームで実装されていない場合に発生します。
@@ -588,10 +568,8 @@ wait2 は子プロセスの pid と終了ステータスを表す [[m:$?]] の
#@since 1.8.0
--- waitall -> [[Integer, Process::Status]]
-全ての子プロセスが終了するのを待ちます。
-終了した子プロセスの pid と終了ステータス
-([[c:Process::Status]]) の配列の配列を返します。
-子プロセスがいない状態でこのメソッドを呼び出すと空の配列を返します。
+全ての子プロセスが終了するのを待ちます。終了した子プロセスの pid と終了ステータス
+([[c:Process::Status]]) の配列の配列を返します。子プロセスがいない状態でこのメソッドを呼び出すと空の配列を返します。
#@since 1.8.0
[[m:$?]] には最後に終了した子プロセスの [[c:Process::Status]] オブジェクトが設定されます。
@@ -609,8 +587,7 @@ wait2 は子プロセスの pid と終了ステータスを表す [[m:$?]] の
--- waitpid(pid, flags = 0) -> Integer | nil
--- waitpid2(pid, flags = 0) -> [Integer, Process::Status] | nil
-pid で指定される特定の子プロセスの終了を待ち、そのプロセスが
-終了した時に pid を返します。
+pid で指定される特定の子プロセスの終了を待ち、そのプロセスが終了した時に pid を返します。
#@since 1.8.0
waitpid2 は pid と [[c:Process::Status]] オブジェクトの配列を返します。
#@else
@@ -644,16 +621,11 @@ nil を返します。
#@since 1.9.1
--- daemon(nochdir = nil, noclose = nil) -> 0
-プロセスから制御端末を切り離し、
-バックグラウンドにまわってデーモンとして動作させます。
+プロセスから制御端末を切り離し、バックグラウンドにまわってデーモンとして動作させます。
-カレントディレクトリを / に移動します。
-ただし nochdir に真を指定したときにはこの動作は抑制され、
-カレントディレクトリは移動しません。
+カレントディレクトリを / に移動します。ただし nochdir に真を指定したときにはこの動作は抑制され、カレントディレクトリは移動しません。
-標準入力・標準出力・標準エラー出力を /dev/null にリダイレクトします。
-ただし noclose に真を指定したときにはこの動作は抑制され、
-リダイレクトは行なわれません。
+標準入力・標準出力・標準エラー出力を /dev/null にリダイレクトします。ただし noclose に真を指定したときにはこの動作は抑制され、リダイレクトは行なわれません。
#@if (version == "1.9.1")
[[man:daemon(2)]] がなくて [[man:fork(2)]] がある環境では失敗した場合に
@@ -703,11 +675,9 @@ Errno::EXXX が発生せず -1 が返ってきます。
#@since 2.1.0
--- argv0 -> String
-現在実行中の Ruby スクリプトの名前を表す文字列です。[[m:$0]] を更新して
-も本メソッドの戻り値への影響はありません。
+現在実行中の Ruby スクリプトの名前を表す文字列です。[[m:$0]] を更新しても本メソッドの戻り値への影響はありません。
-本メソッドは 2.1 以降でグローバル変数を用いないで現在実行中の Ruby スク
-リプトの名前を表す文字列を取得する手段として提供されました。
+本メソッドは 2.1 以降でグローバル変数を用いないで現在実行中の Ruby スクリプトの名前を表す文字列を取得する手段として提供されました。
@see [[m:Process.#setproctitle]], [[m:$0]]
@@ -716,15 +686,12 @@ Errno::EXXX が発生せず -1 が返ってきます。
[[man:ps(1)]] が出力する現在実行中の Ruby スクリプトの名前を引数 title
で指定した文字列に変更します。
-OS によっては何も行われません。また、処理結果に関係なく例外は発生しませ
-ん。サポートされる OS ではない場合であっても [[c:NotImplementedError]]
-が発生する事はありません。本メソッドを実行しても [[m:$0]] への影響はあ
-りません。
+OS によっては何も行われません。また、処理結果に関係なく例外は発生しません。サポートされる OS ではない場合であっても [[c:NotImplementedError]]
+が発生する事はありません。本メソッドを実行しても [[m:$0]] への影響はありません。
Process.setproctitle('myapp: worker #%d' % worker_id)
-本メソッドは 2.1 以降でグローバル変数を用いないで現在実行中の Ruby スク
-リプトの名前を表す文字列を設定する手段として提供されました。
+本メソッドは 2.1 以降でグローバル変数を用いないで現在実行中の Ruby スクリプトの名前を表す文字列を設定する手段として提供されました。
@see [[m:Process.#argv0]], [[m:$0]]
@@ -790,8 +757,7 @@ SUS は POSIX と POSIX の一部で定義されている clock_gettime を含
SUS では CLOCK_REALTIME は必須ですが、CLOCK_MONOTONIC, CLOCK_PROCESS_CPUTIME_ID,
CLOCK_THREAD_CPUTIME_ID は任意です。
-さらに clock_id はいくつかのシンボルを受け付けます。
-それらは clock_gettime() をエミュレーションします。
+さらに clock_id はいくつかのシンボルを受け付けます。それらは clock_gettime() をエミュレーションします。
たとえば、[[m:Process::CLOCK_REALTIME]] は clock_gettime() がない場合は :GETTIMEOFDAY_BASED_CLOCK_REALTIME と定義されています。
@@ -863,15 +829,11 @@ CLOCK_PROCESS_CPUTIME_ID のエミュレーション:
Integer のナノ秒
基になる関数 clock_gettime() はナノ秒を返します。
-Float オブジェクト (IEEE 754 double) は CLOCK_REALTIME の結果を表すには不十分です。
-正確なナノ秒が必要なら、unit に :nanosecond を使ってください。
+Float オブジェクト (IEEE 754 double) は CLOCK_REALTIME の結果を表すには不十分です。正確なナノ秒が必要なら、unit に :nanosecond を使ってください。
-返値のオリジン(0)は様々です。
-例えば、システムの起動時刻、プロセス起動時刻、エポックなどです。
+返値のオリジン(0)は様々です。例えば、システムの起動時刻、プロセス起動時刻、エポックなどです。
-CLOCK_REALTIME のオリジンはエポック (1970-01-01 00:00:00 UTC) と定義されています。
-しかし、システムによってうるう秒をカウントするかどうかが異なります。
-そのため、結果はシステムによって解釈が異なります。
+CLOCK_REALTIME のオリジンはエポック (1970-01-01 00:00:00 UTC) と定義されています。しかし、システムによってうるう秒をカウントするかどうかが異なります。そのため、結果はシステムによって解釈が異なります。
CLOCK_REALTIME よりも [[m:Time.now]] をおすすめします。
@raise Errno::EINVAL clock_id がサポートされていない場合に発生します。
@@ -886,22 +848,19 @@ CLOCK_REALTIME よりも [[m:Time.now]] をおすすめします。
[[m:Process.#clock_gettime]] で使われます。
-システムによっては :GETTIMEOFDAY_BASED_CLOCK_REALTIME です。
-システムによっては定義されていません。
+システムによっては :GETTIMEOFDAY_BASED_CLOCK_REALTIME です。システムによっては定義されていません。
--- CLOCK_MONOTONIC -> Integer | Symbol
[[m:Process.#clock_gettime]] で使われます。
-システムによっては :MACH_ABSOLUTE_TIME_BASED_CLOCK_MONOTONIC です。
-システムによっては定義されていません。
+システムによっては :MACH_ABSOLUTE_TIME_BASED_CLOCK_MONOTONIC です。システムによっては定義されていません。
--- CLOCK_PROCESS_CPUTIME_ID -> Integer | Symbol
[[m:Process.#clock_gettime]] で使われます。
-システムによっては :GETRUSAGE_BASED_CLOCK_PROCESS_CPUTIME_ID です。
-システムによっては定義されていません。
+システムによっては :GETRUSAGE_BASED_CLOCK_PROCESS_CPUTIME_ID です。システムによっては定義されていません。
--- CLOCK_THREAD_CPUTIME_ID -> Integer
@@ -1046,78 +1005,67 @@ CLOCK_REALTIME よりも [[m:Time.now]] をおすすめします。
リソースの種類がプロセスの仮想メモリサイズであることを示す定数です。
-[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。
-システムによっては定義されていません。
+[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。システムによっては定義されていません。
--- RLIMIT_CORE -> Integer
リソースの種類が core ファイルのサイズであることを示す定数です。
-[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。
-システムによっては定義されていません。
+[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。システムによっては定義されていません。
--- RLIMIT_CPU -> Integer
リソースの種類がプロセスの CPU 時間であることを示す定数です。
-[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。
-システムによっては定義されていません。
+[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。システムによっては定義されていません。
--- RLIMIT_DATA -> Integer
リソースの種類がプロセスのデータ領域のサイズであることを示す定数です。
-[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。
-システムによっては定義されていません。
+[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。システムによっては定義されていません。
--- RLIMIT_FSIZE -> Integer
リソースの種類がプロセスが生成するファイルのサイズであることを示す定数です。
-[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。
-システムによっては定義されていません。
+[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。システムによっては定義されていません。
--- RLIMIT_MEMLOCK -> Integer
リソースの種類が [[man:mlock(2)]] でロックできるトータルのサイズであることを示す定数です。
-[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。
-システムによっては定義されていません。
+[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。システムによっては定義されていません。
--- RLIMIT_NOFILE -> Integer
リソースの種類がプロセスがオープンできるファイルの数であることを示す定数です。
-[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。
-システムによっては定義されていません。
+[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。システムによっては定義されていません。
--- RLIMIT_NPROC -> Integer
リソースの種類がユーザのプロセスの最大数であることを示す定数です。
-[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。
-システムによっては定義されていません。
+[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。システムによっては定義されていません。
--- RLIMIT_RSS -> Integer
リソースの種類が使用できる実メモリの最大サイズであることを示す定数です。
-[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。
-システムによっては定義されていません。
+[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。システムによっては定義されていません。
--- RLIMIT_SBSIZE -> Integer
リソースの種類がソケットバッファのサイズであることを示す定数です。
-[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。
-システムによっては定義されていません。
+[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。システムによっては定義されていません。
--- RLIMIT_STACK -> Integer
リソースの種類がプロセスのスタック領域のサイズであることを示す定数です。
-[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。
-システムによっては定義されていません。
+[[m:Process.#getrlimit]]、[[m:Process.#setrlimit]] で使われます。システムによっては定義されていません。
--- RLIM_INFINITY -> Integer
@@ -1136,14 +1084,11 @@ CLOCK_REALTIME よりも [[m:Time.now]] をおすすめします。
--- WNOHANG -> Integer
-[[m:Process.#waitpid]] の第二引数に指定するフラグです。
-終了した子プロセスがない時でも waitpid がブロックしません。
+[[m:Process.#waitpid]] の第二引数に指定するフラグです。終了した子プロセスがない時でも waitpid がブロックしません。
--- WUNTRACED -> Integer
-[[m:Process.#waitpid]] の第二引数に指定するフラグです。
-このフラグが指定された場合、waitpid は停止しているだけで
-終了していない子プロセスのプロセス ID も返すようになります。
+[[m:Process.#waitpid]] の第二引数に指定するフラグです。このフラグが指定された場合、waitpid は停止しているだけで終了していない子プロセスのプロセス ID も返すようになります。
trace されている子プロセスの ID は返しません。
include Process
diff --git a/refm/api/src/_builtin/Process__GID b/refm/api/src/_builtin/Process__GID
index c8549df4..fa692a91 100644
--- a/refm/api/src/_builtin/Process__GID
+++ b/refm/api/src/_builtin/Process__GID
@@ -3,13 +3,10 @@
カレントプロセスのグループ ID を操作するためのモジュールです。
-移植性が考慮されており、プラットフォーム間の違いを吸収するように実装されています。
-プラットフォームのシステムコールを直接使いたい場合には [[c:Process::Sys]]
+移植性が考慮されており、プラットフォーム間の違いを吸収するように実装されています。プラットフォームのシステムコールを直接使いたい場合には [[c:Process::Sys]]
が提供されています。[[c:Process::Sys]] と Process::GID を同時に使うことは推奨されません。
-実グループ ID を変更するメソッドは提供されていません。
-これは [[m:Process::GID.#eid=]] と [[m:Process::GID.#re_exchange]] を以下のように
-組み合わせることによって実現できます。
+実グループ ID を変更するメソッドは提供されていません。これは [[m:Process::GID.#eid=]] と [[m:Process::GID.#re_exchange]] を以下のように組み合わせることによって実現できます。
# (r,e,s) == (g1,g2,??)
Process::GID.re_exchange # (g1,g2,??) ==> (g2,g1,??)
@@ -20,8 +17,7 @@
--- change_privilege(id) -> Integer
-実グループ ID・実効グループ ID・保存グループ ID のすべてを指定された id に変更します。
-成功したら id を返します。主に root 権限を完全に放棄するために使います。
+実グループ ID・実効グループ ID・保存グループ ID のすべてを指定された id に変更します。成功したら id を返します。主に root 権限を完全に放棄するために使います。
利用できるかはプラットフォームに依存します。
@@ -50,9 +46,7 @@
現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。
-実グループ ID は変更されないことが保証されます。
-保存グループ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
-保存グループ ID が変化するかどうかは [[m:Process::GID.#re_exchangeable?]]
+実グループ ID は変更されないことが保証されます。保存グループ ID が変更されないかもしれないので root 権限の完全放棄には使えません。保存グループ ID が変化するかどうかは [[m:Process::GID.#re_exchangeable?]]
が true を返すかどうかで決まります。
* true の環境では、実グループ ID と異なる値を設定した場合、保存グループ ID は新しい実効グループ ID の値に設定されます。
* false の環境では保存グループ ID は変化しません。
@@ -71,9 +65,7 @@
--- re_exchange -> Integer
-現在のプロセスの実グループ ID と実効グループ ID を入れ替えます。
-保存ユーザ ID は新しい実効ユーザ ID と同じになります。
-新しい実効グループ ID を返します。
+現在のプロセスの実グループ ID と実効グループ ID を入れ替えます。保存ユーザ ID は新しい実効ユーザ ID と同じになります。新しい実効グループ ID を返します。
利用できるかはプラットフォームに依存します。
@@ -85,8 +77,7 @@
--- re_exchangeable? -> bool
-現在のプラットフォームで [[m:Process::GID.#re_exchange]] が実装されている
-なら true を返します。そうでない場合に false を返します。
+現在のプラットフォームで [[m:Process::GID.#re_exchange]] が実装されているなら true を返します。そうでない場合に false を返します。
--- rid -> Integer
@@ -96,12 +87,9 @@
--- sid_available? -> bool
-現在のプラットフォームが保存グループ ID を持つなら true を返します。
-そうでない場合に false を返します。
+現在のプラットフォームが保存グループ ID を持つなら true を返します。そうでない場合に false を返します。
-ただし、このメソッドの値には保証がありません。
-現在は次の条件のいずれかが満足される場合には
-保存グループ ID を持つものと判定しています。
+ただし、このメソッドの値には保証がありません。現在は次の条件のいずれかが満足される場合には保存グループ ID を持つものと判定しています。
* setresgid() を持つ
* setegid() を持つ
@@ -112,16 +100,11 @@
実効グループ ID を一時的に変更するために使います。
-実効グループ ID を実グループ ID に変更します。実効グループ ID と実グループ ID が
-等しい場合には、実効グループ ID を保存グループ ID に変更します。
-変更前の実効グループ ID を返します。
+実効グループ ID を実グループ ID に変更します。実効グループ ID と実グループ ID が等しい場合には、実効グループ ID を保存グループ ID に変更します。変更前の実効グループ ID を返します。
-ブロックが指定された場合、実効グループ ID を実グループ ID へ
-変更しブロックを実行します。ブロック終了時に実効グループ ID を元の
-値に戻します。ブロックの実行結果を返します。
+ブロックが指定された場合、実効グループ ID を実グループ ID へ変更しブロックを実行します。ブロック終了時に実効グループ ID を元の値に戻します。ブロックの実行結果を返します。
-なお、保存グループ ID を持たない環境でこのメソッドを実行すると
-実グループ ID が変化します。
+なお、保存グループ ID を持たない環境でこのメソッドを実行すると実グループ ID が変化します。
@raise Errno::EPERM 各グループ ID がこのメソッドを実行するのに適切な状態でない場合、
つまり、実グループ ID・実効グループ ID・保存グループ ID が全て
diff --git a/refm/api/src/_builtin/Process__Status b/refm/api/src/_builtin/Process__Status
index 77d651fc..d61dc8d4 100644
--- a/refm/api/src/_builtin/Process__Status
+++ b/refm/api/src/_builtin/Process__Status
@@ -1,8 +1,7 @@
#@since 1.8.0
= class Process::Status
-プロセスの終了ステータスを表すクラスです。
-メソッド [[m:Process.#wait2]] などの返り値として使われます。
+プロセスの終了ステータスを表すクラスです。メソッド [[m:Process.#wait2]] などの返り値として使われます。
=== 使用例
@@ -79,15 +78,13 @@ SIGCHLD を trap する例
同じステータスの場合に真を返します。
-other が数値の場合、self.to_i との比較が行われます。こ
-れは後方互換性のためです。
+other が数値の場合、self.to_i との比較が行われます。これは後方互換性のためです。
@param other 自身と比較したいオブジェクトを指定します。
--- &(other) -> Integer
-self.to_i & other と同じです。
-このメソッドは後方互換性のためにあります。
+self.to_i & other と同じです。このメソッドは後方互換性のためにあります。
@param other 自身との & 演算をしたい整数を指定します。
@@ -100,16 +97,14 @@ self.to_i & other と同じです。
C 言語での終了ステータス表現の整数を返します。
多くのシステムの実装では、この値の上位 8 bit に [[man:exit(2)]]
-に渡した終了ステータスが、下位 8 bit にシグナル等で終了した等の情
-報が入っています。
+に渡した終了ステータスが、下位 8 bit にシグナル等で終了した等の情報が入っています。
--- to_int -> Integer
to_i と同じです。
このメソッドにより $? が [[c:Fixnum]]
-として扱われるようになります(暗黙の型変換)。これは後方互換性のため
-です。
+として扱われるようになります(暗黙の型変換)。これは後方互換性のためです。
--- to_s -> String
@@ -117,13 +112,11 @@ to_i.to_s と同じです。
--- exited? -> bool
-プロセスが [[man:exit(2)]] などにより正常に終了した場合に、真を返します。
-そうでない場合に false を返します。
+プロセスが [[man:exit(2)]] などにより正常に終了した場合に、真を返します。そうでない場合に false を返します。
--- exitstatus -> Integer | nil
-exited? が真の場合プロセスが返した終了ステータスの整数を、そ
-うでない場合は nil を返します。
+exited? が真の場合プロセスが返した終了ステータスの整数を、そうでない場合は nil を返します。
--- inspect -> String
@@ -143,8 +136,7 @@ exited? が真の場合プロセスが返した終了ステータスの整数を
--- stopped? -> bool
プロセスが現在停止(終了ではない)している場合に真を返します。
-[[m:Process.#waitpid]] に [[m:Process::WUNTRACED]] フラグを設定した
-場合にだけ真になりえます。
+[[m:Process.#waitpid]] に [[m:Process::WUNTRACED]] フラグを設定した場合にだけ真になりえます。
--- stopsig -> Integer | nil
@@ -153,13 +145,11 @@ nil を返します。
--- signaled? -> bool
-プロセスがハンドラを定義していないシグナルを受けて終了した場合に真
-を返します。
+プロセスがハンドラを定義していないシグナルを受けて終了した場合に真を返します。
--- termsig -> Integer | nil
-signaled? が真の場合プロセスを終了させたシグナル番号を、
-そうでない場合は nil を返します。
+signaled? が真の場合プロセスを終了させたシグナル番号を、そうでない場合は nil を返します。
--- coredump? -> bool
@@ -167,8 +157,7 @@ signaled? が真の場合プロセスを終了させたシグナル番号を、
このメソッドは signaled? が真のときにしか意味を持ちません。
-このメソッドはシステムに依存します。サポートしないプラットフォー
-ムでは常に false を返します。
+このメソッドはシステムに依存します。サポートしないプラットフォームでは常に false を返します。
--- >>(num) -> Integer
@@ -184,8 +173,7 @@ self.to_i >> num と同じです。
#@since 1.8.2
--- success? -> bool
-プロセスの終了状態が成功である場合に true を返します。
-そうでない場合に false を返します。
+プロセスの終了状態が成功である場合に true を返します。そうでない場合に false を返します。
#@end
#@end
diff --git a/refm/api/src/_builtin/Process__Sys b/refm/api/src/_builtin/Process__Sys
index 75706169..a2fc9045 100644
--- a/refm/api/src/_builtin/Process__Sys
+++ b/refm/api/src/_builtin/Process__Sys
@@ -4,8 +4,7 @@
ユーザ ID・グループ ID を操作するシステムコールを直接呼ぶためのモジュールです。
ポータブルにユーザ ID・グループ ID を操作するためのモジュール [[c:Process::UID]], [[c:Process::GID]]
-も提供されています。Process::Sys と [[c:Process::UID]] や [[c:Process::GID]] を同時に使うことは
-非推奨です。
+も提供されています。Process::Sys と [[c:Process::UID]] や [[c:Process::GID]] を同時に使うことは非推奨です。
== Module Functions
@@ -147,8 +146,7 @@
システムコールの issetugid() を呼びます。
-プロセスが setuid もしくは setgid ビットを使って
-起動されている場合に真を返します。
+プロセスが setuid もしくは setgid ビットを使って起動されている場合に真を返します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。
#@end
diff --git a/refm/api/src/_builtin/Process__UID b/refm/api/src/_builtin/Process__UID
index 8c583bd5..a89740bc 100644
--- a/refm/api/src/_builtin/Process__UID
+++ b/refm/api/src/_builtin/Process__UID
@@ -3,13 +3,10 @@
カレントプロセスのユーザ ID を操作するためのモジュールです。
-移植性が考慮されており、プラットフォーム間の違いを吸収するように実装されています。
-プラットフォームのシステムコールを直接使いたい場合には [[c:Process::Sys]]
+移植性が考慮されており、プラットフォーム間の違いを吸収するように実装されています。プラットフォームのシステムコールを直接使いたい場合には [[c:Process::Sys]]
が提供されています。[[c:Process::Sys]] と Process::UID を同時に使うことは推奨されません。
-実ユーザ ID を変更するメソッドは提供されていません。
-これは [[m:Process::UID.#eid=]] と [[m:Process::UID.#re_exchange]] を以下のように
-組み合わせることによって実現できます。
+実ユーザ ID を変更するメソッドは提供されていません。これは [[m:Process::UID.#eid=]] と [[m:Process::UID.#re_exchange]] を以下のように組み合わせることによって実現できます。
# (r,e,s) == (u1,u2,??)
Process::UID.re_exchange # (u1,u2,??) ==> (u2,u1,??)
@@ -28,8 +25,7 @@
--- change_privilege(id) -> Integer
-実ユーザ ID・実効ユーザ ID・保存ユーザ ID のすべてを指定された id に変更します。
-成功したら id を返します。主に root 権限を完全に放棄するために使います。
+実ユーザ ID・実効ユーザ ID・保存ユーザ ID のすべてを指定された id に変更します。成功したら id を返します。主に root 権限を完全に放棄するために使います。
利用できるかはプラットフォームに依存します。
@@ -48,9 +44,7 @@
現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。
-実ユーザ ID は変更されないことが保証されます。
-保存ユーザ ID が変更されないかもしれないので root 権限の完全放棄には使えません。
-保存ユーザ ID が変化するかどうかは [[m:Process::UID.#re_exchangeable?]]
+実ユーザ ID は変更されないことが保証されます。保存ユーザ ID が変更されないかもしれないので root 権限の完全放棄には使えません。保存ユーザ ID が変化するかどうかは [[m:Process::UID.#re_exchangeable?]]
が true を返すかどうかで決まります。
* true の環境では、実ユーザ ID と異なる値を設定した場合、保存ユーザ ID は新しい実効ユーザ ID の値に設定されます。
@@ -70,9 +64,7 @@
--- re_exchange -> Integer
-実ユーザ ID と実効ユーザ ID とを入れ換えます。
-保存ユーザ ID は新しい実効ユーザ ID と同じになります。
-新しい実効ユーザ ID を返します。
+実ユーザ ID と実効ユーザ ID とを入れ換えます。保存ユーザ ID は新しい実効ユーザ ID と同じになります。新しい実効ユーザ ID を返します。
利用できるかはプラットフォームに依存します。
@@ -84,12 +76,9 @@
--- sid_available? -> bool
-保存ユーザ ID を持つ環境かどうかを真偽値で返します。
-保存ユーザ ID を持つなら true を返します。
+保存ユーザ ID を持つ環境かどうかを真偽値で返します。保存ユーザ ID を持つなら true を返します。
-ただし、このメソッドの値には保証がありません。
-現在は次の条件のいずれかが満足される場合には
-保存ユーザ ID を持つものと判定しています。
+ただし、このメソッドの値には保証がありません。現在は次の条件のいずれかが満足される場合には保存ユーザ ID を持つものと判定しています。
* setresuid() を持つ
* seteuid() を持つ
@@ -100,16 +89,11 @@
実効ユーザ ID を一時的に変更するために使います。
-実効ユーザ ID を実ユーザ ID に変更します。実効ユーザ ID と実ユーザ ID が
-等しい場合には、実効ユーザ ID を保存ユーザ ID に変更します。
-変更前の実効ユーザ ID を返します。
+実効ユーザ ID を実ユーザ ID に変更します。実効ユーザ ID と実ユーザ ID が等しい場合には、実効ユーザ ID を保存ユーザ ID に変更します。変更前の実効ユーザ ID を返します。
-ブロックが指定された場合、実効ユーザ ID を実ユーザ ID へ
-変更しブロックを実行します。ブロック終了時に実効ユーザ ID を元の
-値に戻します。ブロックの実行結果を返します。
+ブロックが指定された場合、実効ユーザ ID を実ユーザ ID へ変更しブロックを実行します。ブロック終了時に実効ユーザ ID を元の値に戻します。ブロックの実行結果を返します。
-なお、保存ユーザ ID を持たない環境でこのメソッドを実行すると
-実ユーザ ID が変化します。
+なお、保存ユーザ ID を持たない環境でこのメソッドを実行すると実ユーザ ID が変化します。
@raise Errno::EPERM 各ユーザ ID がこのメソッドを実行するのに適切な状態でない場合、
つまり、実ユーザ ID・実効ユーザ ID・保存ユーザ ID が全て
diff --git a/refm/api/src/_builtin/Random b/refm/api/src/_builtin/Random
index fd049282..23f04b02 100644
--- a/refm/api/src/_builtin/Random
+++ b/refm/api/src/_builtin/Random
@@ -3,13 +3,11 @@
MT19937に基づく疑似乱数生成器を提供するクラスです。
-=== 参考
-オリジナル版 [[url:http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html]]
+=== 参考オリジナル版 [[url:http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html]]
== Class Methods
--- new(seed = Random.new_seed) -> Random
-メルセンヌ・ツイスタに基づく疑似乱数発生装置オブジェクトを作ります。
-引数が省略された場合は、[[m:Random.new_seed]]の値を使用します。
+メルセンヌ・ツイスタに基づく疑似乱数発生装置オブジェクトを作ります。引数が省略された場合は、[[m:Random.new_seed]]の値を使用します。
@param seed 疑似乱数生成器の種を整数で指定します。
@@ -48,10 +46,7 @@ MT19937に基づく疑似乱数生成器を提供するクラスです。
@return プラットフォームの提供する機能の準備に失敗した場合は nil を返します。
#@end
-2017年の時点で、Linuxのmanpage([[man:random(7)]])には「今日256ビット以上の
-セキュリティを約束できる暗号化プリミティブが入手可能だとは期待できません」と
-書いてあります。そのため、sizeとして32より大きい値を指定することには疑問の
-余地があります。
+2017年の時点で、Linuxのmanpage([[man:random(7)]])には「今日256ビット以上のセキュリティを約束できる暗号化プリミティブが入手可能だとは期待できません」と書いてあります。そのため、sizeとして32より大きい値を指定することには疑問の余地があります。
例:
@@ -87,8 +82,7 @@ MT19937に基づく疑似乱数生成器を提供するクラスです。
疑似乱数を発生させます。
-[[m:Kernel.#rand]] と同じです。
-疑似乱数生成器も共通なため [[m:Kernel.#srand]] などの影響を受けます。
+[[m:Kernel.#rand]] と同じです。疑似乱数生成器も共通なため [[m:Kernel.#srand]] などの影響を受けます。
@param max 乱数値の上限を正の整数で指定します。
max 自体は乱数値の範囲に含まれません。
@@ -190,8 +184,7 @@ range に含まれる数が無い場合は nil を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は range.begin + self.rand((range.end - range.begin) + e)
の値を返します(e は終端を含む場合は1、含まない場合は0です)。
-range.end - range.begin が実数を返す場合も同様です。
-このため range が [[c:Time]] の場合などにもうまく動作します。
+range.end - range.begin が実数を返す場合も同様です。このため range が [[c:Time]] の場合などにもうまく動作します。
引数が実数でも範囲でもない場合は [[m:Object#to_int]] で変換した値が指定されたものとして扱います。
diff --git a/refm/api/src/_builtin/Range b/refm/api/src/_builtin/Range
index 101d14d6..8c0a60fe 100644
--- a/refm/api/src/_builtin/Range
+++ b/refm/api/src/_builtin/Range
@@ -3,9 +3,7 @@
include Enumerable
範囲オブジェクトのクラス。範囲オブジェクトは範囲演算子 .. または
-... によって生成されます。.. 演算子によって生成された範囲
-オブジェクトは終端を含み、... 演算子によって生成された範囲オブジェ
-クトは終端を含みません。
+... によって生成されます。.. 演算子によって生成された範囲オブジェクトは終端を含み、... 演算子によって生成された範囲オブジェクトは終端を含みません。
=== 例
@@ -13,19 +11,13 @@ include Enumerable
# 処理
end
-これは 1 から 5 までの範囲オブジェクトを生成して、それぞれの値に対して
-繰り返すと言う意味です。
+これは 1 から 5 までの範囲オブジェクトを生成して、それぞれの値に対して繰り返すと言う意味です。
-範囲演算子のオペランドは互いに <=> で比較できる必要があります。
-さらに [[m:Range#each]] を実行するためには succ メソッ
-ドを実行できるものでなければいけません。
+範囲演算子のオペランドは互いに <=> で比較できる必要があります。さらに [[m:Range#each]] を実行するためには succ メソッドを実行できるものでなければいけません。
=== 破壊的な変更
-Ruby の Range クラスは immutable です。
-つまり、オブジェクト自体を破壊的に変更することはできません。
-ですので、一度生成された Range のオブジェクトの指し示す範囲は
-決して変更することはできません。
+Ruby の Range クラスは immutable です。つまり、オブジェクト自体を破壊的に変更することはできません。ですので、一度生成された Range のオブジェクトの指し示す範囲は決して変更することはできません。
range = 1..10
range.first # => 1
@@ -35,11 +27,9 @@ Ruby の Range クラスは immutable です。
--- new(first, last, exclude_end = false) -> Range
-first から last までの範囲オブジェクトを生成して返しま
-す。
+first から last までの範囲オブジェクトを生成して返します。
-exclude_end が真ならば終端を含まない範囲オブジェクトを生
-成します。exclude_end 省略時には終端を含みます。
+exclude_end が真ならば終端を含まない範囲オブジェクトを生成します。exclude_end 省略時には終端を含みます。
@param first 最初のオブジェクト
@param last 最後のオブジェクト
@@ -128,8 +118,7 @@ obj が範囲内に含まれている時に真を返します。
[[m:Range#include?]] と異なり <=> メソッドによる演算により範囲内かどうかを判定します。
[[m:Range#include?]] は原則として離散値を扱い、
-Range#cover? は連続値を扱います。
-(数値については、例外として [[m:Range#include?]] も連続的に扱います。)
+Range#cover? は連続値を扱います。(数値については、例外として [[m:Range#include?]] も連続的に扱います。)
@param obj 比較対象のオブジェクトを指定します。
@@ -161,8 +150,7 @@ Range#cover? は連続値を扱います。
--- begin -> object
--- first -> object
-始端の要素を返します。範囲オブジェクトが始端を含むかどうかは関係ありま
-せん。
+始端の要素を返します。範囲オブジェクトが始端を含むかどうかは関係ありません。
例:
@@ -220,8 +208,7 @@ Range#each は各要素の succ メソッドを使用してイテレーション
--- end -> object
--- last -> object
-終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま
-せん。
+終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありません。
例:
@@ -244,8 +231,7 @@ Range#each は各要素の succ メソッドを使用してイテレーション
@raise ArgumentError n に負の数を指定した場合に発生します。
[注意] 引数を省略して実行した場合は、終端を含むかどうか
-([[m:Range#exclude_end?]] の戻り値)に関わらず終端の要素を返す事に注意し
-てください。
+([[m:Range#exclude_end?]] の戻り値)に関わらず終端の要素を返す事に注意してください。
例:
@@ -292,8 +278,7 @@ Range#each は各要素の succ メソッドを使用してイテレーション
--- ==(other) -> bool
-指定された other が Range クラスのインスタンスであり、
-始点と終点が == メソッドで比較して等しく、[[m:Range#exclude_end?]] が同じ場合に
+指定された other が Range クラスのインスタンスであり、始点と終点が == メソッドで比較して等しく、[[m:Range#exclude_end?]] が同じ場合に
true を返します。そうでない場合に false を返します。
@param other 自身と比較したいオブジェクトを指定します。
@@ -306,8 +291,7 @@ true を返します。そうでない場合に false を返します。
--- eql?(other) -> bool
-指定された other が Range クラスのインスタンスであり、
-始点と終点が eql? メソッドで比較して等しく、[[m:Range#exclude_end?]] が同じ場合に
+指定された other が Range クラスのインスタンスであり、始点と終点が eql? メソッドで比較して等しく、[[m:Range#exclude_end?]] が同じ場合に
true を返します。そうでない場合に false を返します。
@param other 自身と比較したいオブジェクトを指定します。
@@ -329,8 +313,7 @@ true を返します。そうでない場合に false を返します。
--- to_s -> String
-self を文字列に変換します(始点と終点のオブジェクトは #to_s メソッドで文
-字列に変換されます)。
+self を文字列に変換します(始点と終点のオブジェクトは #to_s メソッドで文字列に変換されます)。
@see [[m:Range#inspect]]
@@ -340,8 +323,7 @@ self を文字列に変換します(始点と終点のオブジェクトは #to_
--- inspect -> String
-self を文字列に変換します(始点と終点のオブジェクトは #inspect メソッド
-で文字列に変換されます)。
+self を文字列に変換します(始点と終点のオブジェクトは #inspect メソッドで文字列に変換されます)。
@see [[m:Range#to_s]]
@@ -358,8 +340,7 @@ self を文字列に変換します(始点と終点のオブジェクトは #ins
(1..5).min # => 1
-始端が終端より大きい場合、終端を含まない範囲オブジェクトの始端が終端と
-等しい場合は nil を返します。
+始端が終端より大きい場合、終端を含まない範囲オブジェクトの始端が終端と等しい場合は nil を返します。
例:
@@ -368,11 +349,9 @@ self を文字列に変換します(始点と終点のオブジェクトは #ins
--- min {|a, b| ... } -> object | nil
-ブロックの評価結果で範囲内の各要素の大小判定を行い、最小の要素を返しま
-す。範囲内に要素が存在しなければ nil を返します。
+ブロックの評価結果で範囲内の各要素の大小判定を行い、最小の要素を返します。範囲内に要素が存在しなければ nil を返します。
-ブロックの値は、a > b のとき正、a == b のとき 0、 a < b のとき負の整数
-を、期待しています。
+ブロックの値は、a > b のとき正、a == b のとき 0、 a < b のとき負の整数を、期待しています。
@raise TypeError ブロックが整数以外を返したときに発生します。
@@ -390,8 +369,7 @@ self を文字列に変換します(始点と終点のオブジェクトは #ins
(1..5).max # => 5
-始端が終端より大きい場合、終端を含まない範囲オブジェクトの始端が終端と
-等しい場合は nil を返します。
+始端が終端より大きい場合、終端を含まない範囲オブジェクトの始端が終端と等しい場合は nil を返します。
例:
@@ -400,11 +378,9 @@ self を文字列に変換します(始点と終点のオブジェクトは #ins
--- max {|a, b| ... } -> object | nil
-ブロックの評価結果で範囲内の各要素の大小判定を行い、最大の要素を返しま
-す。範囲内に要素が存在しなければ nil を返します。
+ブロックの評価結果で範囲内の各要素の大小判定を行い、最大の要素を返します。範囲内に要素が存在しなければ nil を返します。
-ブロックの値は、a > b のとき正、 a == b のとき 0、a < b のとき負の整数
-を、期待しています。
+ブロックの値は、a > b のとき正、 a == b のとき 0、a < b のとき負の整数を、期待しています。
@raise TypeError ブロックが整数以外を返したときに発生します。
@@ -419,18 +395,14 @@ self を文字列に変換します(始点と終点のオブジェクトは #ins
--- bsearch {|obj| ... } -> object | nil
--- bsearch -> Enumerator
-ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二
-分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を
-返します。
+ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返します。
-本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
-ます。
+本メソッドはブロックを評価した結果により以下のいずれかのモードで動作します。
* find-minimum モード
* find-any モード
-find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
-う)では、条件判定の結果を以下のようにする必要があります。
+find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょう)では、条件判定の結果を以下のようにする必要があります。
* 求める値がブロックパラメータの値か前の要素の場合: true を返す
* 求める値がブロックパラメータより後の要素の場合: false を返す
@@ -447,8 +419,7 @@ find-minimum モード(特に理由がない限りはこのモードを使う方
(0.0...Float::INFINITY).bsearch {|x| Math.log(x) >= 0 } # => 1.0
-find-any モードは [[man:bsearch(3)]] のように動作します。ブロックは真偽値
-ではなく、以下のような数値を返す必要があります。求める値の範囲がx...y
+find-any モードは [[man:bsearch(3)]] のように動作します。ブロックは真偽値ではなく、以下のような数値を返す必要があります。求める値の範囲がx...y
(x <= y)であるとします。また、ブロックパラメータの値を v とします。
* ブロックパラメータの値が求める値の範囲よりも小さい(v < x)場合: 正の数を返す
@@ -464,10 +435,7 @@ find-any モードは [[man:bsearch(3)]] のように動作します。ブロッ
(0..4).bsearch {|i| 300 - ary[i] } # => nil
(0..4).bsearch {|i| 50 - ary[i] } # => nil
-上記の 2 つのモードを混在して使用しないでください(ブロックの評価結果は
-常に true/false、数値のいずれかを一貫して返すようにしてください)。
-また、二分探索の各イテレーションで値がどのような順序で選ばれるかは
-未規定です。
+上記の 2 つのモードを混在して使用しないでください(ブロックの評価結果は常に true/false、数値のいずれかを一貫して返すようにしてください)。また、二分探索の各イテレーションで値がどのような順序で選ばれるかは未規定です。
ブロックが与えられなかった場合は、 [[c:Enumerator]] のインスタンスを返します。
diff --git a/refm/api/src/_builtin/RangeError b/refm/api/src/_builtin/RangeError
index 912325e5..a6120afd 100644
--- a/refm/api/src/_builtin/RangeError
+++ b/refm/api/src/_builtin/RangeError
@@ -1,7 +1,6 @@
= class RangeError < StandardError
-範囲に関する例外クラスです。
-値が定義域から外れているときに発生します。
+範囲に関する例外クラスです。値が定義域から外れているときに発生します。
例:
diff --git a/refm/api/src/_builtin/Rational b/refm/api/src/_builtin/Rational
index 9e38b34e..e8f89875 100644
--- a/refm/api/src/_builtin/Rational
+++ b/refm/api/src/_builtin/Rational
@@ -13,8 +13,7 @@
Rational('0.33') # => (33/100)
Rational.new(1, 3) # => NoMethodError
-ただし、1.8系とは異なり、[[c:Rational]] オブジェクトは常に既約(それ以上
-約分できない状態)である事に注意してください。
+ただし、1.8系とは異なり、[[c:Rational]] オブジェクトは常に既約(それ以上約分できない状態)である事に注意してください。
Rational(2, 6) # => (1/3)
Rational(1, 3) * 3 # => (1/1)
@@ -29,8 +28,7 @@
@param other 自身を割る数
-other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で返しま
-す。
+other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で返します。
例:
@@ -49,8 +47,7 @@ other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で
@param other 自身に掛ける数
-other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で返しま
-す。
+other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で返します。
例:
@@ -66,8 +63,7 @@ other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で
@param other 自身を other 乗する数
-other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で返しま
-す。other が有理数であっても、計算結果が無理数だった場合は [[c:Float]]
+other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で返します。other が有理数であっても、計算結果が無理数だった場合は [[c:Float]]
を返します。
例:
@@ -81,8 +77,7 @@ other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で
注意:
1.8 系とは計算結果のオブジェクトが異なる場合がある事に注意してください。
-other に [[c:Rational]] を指定した場合には戻り値は必ず [[c:Float]] を返
-していました。
+other に [[c:Rational]] を指定した場合には戻り値は必ず [[c:Float]] を返していました。
# 1.8.7 の場合
r = Rational(3, 4)
@@ -94,8 +89,7 @@ other に [[c:Rational]] を指定した場合には戻り値は必ず [[c:Float
@param other 自身に足す数
-other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で返しま
-す。
+other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で返します。
例:
@@ -110,8 +104,7 @@ other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で
@param other 自身から引く数
-other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で返しま
-す。
+other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で返します。
例:
@@ -126,8 +119,7 @@ other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で
@param other 自身を割る数
-other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で返しま
-す。
+other に [[c:Float]] を指定した場合は、計算結果を [[c:Float]] で返します。
#@since 1.9.3
ただし 0 以外の整数に等しい場合は [[c:Rational]] で返します。
#@# r28844 と r28886
@@ -267,8 +259,7 @@ self が 0 未満の場合に true を返します。そうでない場合に fa
Rational(-3, 2).ceil # => -1
#@since 1.9.2
-precision を指定した場合は指定した桁数の数値と、上述の性質に最も近い整
-数か [[c:Rational]] を返します。
+precision を指定した場合は指定した桁数の数値と、上述の性質に最も近い整数か [[c:Rational]] を返します。
例:
@@ -282,8 +273,7 @@ precision を指定した場合は指定した桁数の数値と、上述の性
--- coerce(other) -> Array
-自身と other が同じクラスになるよう、自身か other を変換し [other, self] という
-配列にして返します。
+自身と other が同じクラスになるよう、自身か other を変換し [other, self] という配列にして返します。
@param other 比較または変換するオブジェクト
@@ -378,8 +368,7 @@ other に虚数を指定することは出来ません。
Rational(-7, 4).floor # => -2
#@since 1.9.2
-precision を指定した場合は指定した桁数の数値と、上述の性質に最も近い整
-数か [[c:Rational]] を返します。
+precision を指定した場合は指定した桁数の数値と、上述の性質に最も近い整数か [[c:Rational]] を返します。
例:
@@ -429,15 +418,13 @@ precision を指定した場合は指定した桁数の数値と、上述の性
--- marshal_load(ary) -> Rational
-[[m:Rational#marshal_dump]] で得られた配列を基に、[[c:Rational]] オブジェ
-クトを復元します。
+[[m:Rational#marshal_dump]] で得られた配列を基に、[[c:Rational]] オブジェクトを復元します。
@param ary 2 要素の数値の配列を指定します。
@raise ArgumentError 配列の要素数が 2 以外であった場合に発生します。
-[注意] このメソッドは 2.0 で Rational::compatible#marshal_load に移動さ
-れました。
+[注意] このメソッドは 2.0 で Rational::compatible#marshal_load に移動されました。
@see [[m:Rational#marshal_dump]]
#@end
@@ -460,8 +447,7 @@ precision を指定した場合は指定した桁数の数値と、上述の性
#@since 1.9.2
--- rationalize(eps = 0) -> Rational
-自身から eps で指定した許容誤差の範囲に収まるような [[c:Rational]] を返
-します。
+自身から eps で指定した許容誤差の範囲に収まるような [[c:Rational]] を返します。
eps を省略した場合は self を返します。
@@ -514,8 +500,7 @@ eps を省略した場合は self を返します。
Rational(-3, 2).round # => -2
#@since 1.9.2
-precision を指定した場合は指定した桁数の数値と、上述の性質に最も近い整
-数か [[c:Rational]] を返します。
+precision を指定した場合は指定した桁数の数値と、上述の性質に最も近い整数か [[c:Rational]] を返します。
例:
@@ -630,8 +615,7 @@ precision を指定した場合は指定した桁数で切り捨てた整数か
[[m:Marshal.#load]] のためのメソッドです。
Rational::compatible#marshal_load で復元可能な配列を返します。
-2.0 以降では [[m:Marshal.#load]] で 1.8 系の [[c:Rational]] オブジェク
-トを保存した文字列も復元できます。
+2.0 以降では [[m:Marshal.#load]] で 1.8 系の [[c:Rational]] オブジェクトを保存した文字列も復元できます。
[注意] Rational::compatible は通常の方法では参照する事ができません。
diff --git a/refm/api/src/_builtin/Regexp b/refm/api/src/_builtin/Regexp
index 072c57b5..94b71aa7 100644
--- a/refm/api/src/_builtin/Regexp
+++ b/refm/api/src/_builtin/Regexp
@@ -1,12 +1,10 @@
= class Regexp < Object
-正規表現のクラス。正規表現のリテラルはスラッシュで囲んだ形式
-で記述します。
+正規表現のクラス。正規表現のリテラルはスラッシュで囲んだ形式で記述します。
/^this is regexp/
-Regexp.new(string) を使って正規表現オブジェクトを動的に生成する
-こともできます。
+Regexp.new(string) を使って正規表現オブジェクトを動的に生成することもできます。
str = "this is regexp"
rp1 = Regexp.new("^this is regexp")
@@ -59,8 +57,7 @@ Regexp.new(string) を使って正規表現オブジェクトを動的に生成
--- escape(string) -> String
--- quote(string) -> String
-string の中で正規表現において特別な意味を持つ文字の直前にエ
-スケープ文字(バックスラッシュ)を挿入した文字列を返します。
+string の中で正規表現において特別な意味を持つ文字の直前にエスケープ文字(バックスラッシュ)を挿入した文字列を返します。
@param string 正規表現において特別な意味をもつ文字をもつ文字列を指定します。
@@ -69,8 +66,7 @@ string の中で正規表現において特別な意味を持つ文字の直前
--- last_match -> MatchData
-カレントスコープで最後に行った正規表現マッチの [[c:MatchData]] オ
-ブジェクトを返します。このメソッドの呼び出しは [[m:$~]]
+カレントスコープで最後に行った正規表現マッチの [[c:MatchData]] オブジェクトを返します。このメソッドの呼び出しは [[m:$~]]
の参照と同じです。
/(.)(.)/ =~ "ab"
@@ -83,10 +79,7 @@ string の中で正規表現において特別な意味を持つ文字の直前
--- last_match(nth) -> String | nil
整数 nth が 0 の場合、マッチした文字列を返します
-([[m:$&]])。それ以外では、nth 番目の括弧にマッチ
-した部分文字列を返します([[m:$1]],[[m:$2]],...)。
-対応する括弧がない場合やマッチしなかった場合には nil を返し
-ます。
+([[m:$&]])。それ以外では、nth 番目の括弧にマッチした部分文字列を返します([[m:$1]],[[m:$2]],...)。対応する括弧がない場合やマッチしなかった場合には nil を返します。
/(.)(.)/ =~ "ab"
p Regexp.last_match # => #<MatchData:0x4599e58>
@@ -97,8 +90,7 @@ string の中で正規表現において特別な意味を持つ文字の直前
正規表現全体がマッチしなかった場合、引数なしの
Regexp.last_match はnil を返すため、
-last_match[1] の形式では例外 [[c:NoMethodError]] が発生します。
-対して、last_match(1) は nil を返します。
+last_match[1] の形式では例外 [[c:NoMethodError]] が発生します。対して、last_match(1) は nil を返します。
str = "This is Regexp"
/That is Regexp/ =~ str
@@ -115,13 +107,11 @@ last_match[1] の形式では例外 [[c:NoMethodError]] が発生します。
--- union(*pattern) -> Regexp
-引数として与えた pattern を選択 | で連結し、Regexp として返します。
-結果の Regexp は与えた pattern のどれかにマッチする場合にマッチするものになります。
+引数として与えた pattern を選択 | で連結し、Regexp として返します。結果の Regexp は与えた pattern のどれかにマッチする場合にマッチするものになります。
p Regexp.union(/a/, /b/, /c/) #=> /(?-mix:a)|(?-mix:b)|(?-mix:c)/
-引数を一つだけ与える場合は、[[c:Array]] を与えても Regexp を生成します。
-つまり、以下のように書くことができます。
+引数を一つだけ与える場合は、[[c:Array]] を与えても Regexp を生成します。つまり、以下のように書くことができます。
arr = [/a/, /b/, /c/]
p Regexp.union(arr) #=> /(?-mix:a)|(?-mix:b)|(?-mix:c)/
@@ -129,8 +119,7 @@ last_match[1] の形式では例外 [[c:NoMethodError]] が発生します。
p Regexp.union(*arr) #=> /(?-mix:a)|(?-mix:b)|(?-mix:c)/
pattern は Regexp または String で与えます。
-String で与えた場合、それ自身と等しい文字列にマッチするものと解釈され、
-エスケープされて結果の Regexp に組み込まれます。
+String で与えた場合、それ自身と等しい文字列にマッチするものと解釈され、エスケープされて結果の Regexp に組み込まれます。
p Regexp.union("a", "?", "b") # => /a|\?|b/
p Regexp.union(/a/, "*") # => /(?-mix:a)|\*/
@@ -139,18 +128,13 @@ String で与えた場合、それ自身と等しい文字列にマッチする
p Regexp.union() # => /(?!)/
-結果の Regexp が対応する文字コードは引数として与えた Regexp が扱う文字コードに
-一致します。
-固定コードに対してコンパイルされている Regexp を複数与える場合、
-それらのコードは一致していなければなりません。
-異なる固定コードに対してコンパイルされている Regexp が存在する場合、
+結果の Regexp が対応する文字コードは引数として与えた Regexp が扱う文字コードに一致します。固定コードに対してコンパイルされている Regexp を複数与える場合、それらのコードは一致していなければなりません。異なる固定コードに対してコンパイルされている Regexp が存在する場合、
[[c:ArgumentError]] が発生します。
p Regexp.union(/a/e, /b/e) # => /(?-mix:a)|(?-mix:b)/e
p Regexp.union(/a/e, /b/s) # => ArgumentError
-コードが固定されている Regexp とコードが固定されていない Regexp を混ぜた場合、
-結果の Regexp は固定されているコードに対応するものになります。
+コードが固定されている Regexp とコードが固定されていない Regexp を混ぜた場合、結果の Regexp は固定されているコードに対応するものになります。
p Regexp.union(/a/e, /b/) # => /(?-mix:a)|(?-mix:b)/e
@@ -172,8 +156,7 @@ String で与えた場合、それ自身と等しい文字列にマッチする
--- try_convert(obj) -> Regexp | nil
-obj を to_regexp メソッドで Regexp オブジェクトに変換しようと
-試みます。
+obj を to_regexp メソッドで Regexp オブジェクトに変換しようと試みます。
変換に成功した場合はそれを返し、失敗時には nil を返します。
@@ -184,10 +167,7 @@ obj を to_regexp メソッドで Regexp オブジェクトに変換しようと
--- =~(string) -> Integer | nil
-文字列 string との正規表現マッチを行います。マッチした場合、
-マッチした位置のインデックスを返します(先頭は0)。マッチしなかった
-場合、あるいは string が nil の場合には nil を返
-します。
+文字列 string との正規表現マッチを行います。マッチした場合、マッチした位置のインデックスを返します(先頭は0)。マッチしなかった場合、あるいは string が nil の場合には nil を返します。
p /foo/ =~ "foo" #=> 0
p /foo/ =~ "afoo" #=> 1
@@ -220,8 +200,7 @@ obj を to_regexp メソッドで Regexp オブジェクトに変換しようと
end
--- ===(string) -> bool
-文字列 string との正規表現マッチを行います。
-マッチした場合は真を返します。
+文字列 string との正規表現マッチを行います。マッチした場合は真を返します。
string が文字列でもシンボルでもない場合には false を返します。
@@ -282,8 +261,7 @@ string が文字列でもシンボルでもない場合には false を返しま
--- casefold? -> bool
-正規表現が大文字小文字の判定をしないようにコンパイルされている時、
-真を返します。
+正規表現が大文字小文字の判定をしないようにコンパイルされている時、真を返します。
reg = Regexp.new("foobar", Regexp::IGNORECASE)
p reg.casefold? #=> true
@@ -330,27 +308,21 @@ string が文字列でもシンボルでもない場合には false を返しま
--- match(str, pos = 0) -> MatchData | nil
--- match(str, pos = 0) {|m| ... } -> object | nil
-指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ
-チングを行います。マッチした場合には結果を MatchData オブジェクトで返し
-ます。
-マッチしなかった場合 nil を返します。
+指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッチングを行います。マッチした場合には結果を MatchData オブジェクトで返します。マッチしなかった場合 nil を返します。
-省略可能な第二引数 pos を指定すると、マッチの開始位置を pos から行
-うよう制御できます(pos のデフォルト値は 0)。
+省略可能な第二引数 pos を指定すると、マッチの開始位置を pos から行うよう制御できます(pos のデフォルト値は 0)。
p(/(.).(.)/.match("foobar", 3).captures) # => ["b", "r"]
p(/(.).(.)/.match("foobar", -3).captures) # => ["b", "r"]
-pos を指定しても [[m:MatchData#offset]] 等の結果
-には影響しません。つまり、
+pos を指定しても [[m:MatchData#offset]] 等の結果には影響しません。つまり、
re.match(str[pos..-1])
re.match(str, pos)
は異なります。
-ブロックを渡すと、マッチした場合に限り MatchData オブジェクトがブロック引数に渡されて実行されます。
-マッチした場合はブロックの値を返し、マッチしなかった場合は nil を返します。
+ブロックを渡すと、マッチした場合に限り MatchData オブジェクトがブロック引数に渡されて実行されます。マッチした場合はブロックの値を返し、マッチしなかった場合は nil を返します。
results = []
/((.)\2)/.match("foo") {|m| results << m[0] } #=> ["oo"]
@@ -374,8 +346,7 @@ pos を指定しても [[m:MatchData#offset]] 等の結果
p /(foo)(bar)(baz)/.match("foobarbaz").to_a.values_at(1,2,3) #=> ["foo", "bar", "baz"]
-=== 便利な使いかた
-正規表現にマッチした部分文字列だけが必要な場合に、
+=== 便利な使いかた正規表現にマッチした部分文字列だけが必要な場合に、
bar = /foo(.*)baz/.match("foobarbaz").to_a[1]
@@ -384,8 +355,7 @@ pos を指定しても [[m:MatchData#offset]] 等の結果
のように使用できます。(to_a は、マッチに失敗した場合を考慮しています。)
多重代入の規則では右辺が配列でない一つのオブジェクトで to_a
-メソッドを持つ場合、右辺に * を付けることで to_a の結果を利用でき
-ます。つまり、上記は以下のように書くことができます。(ここでの
+メソッドを持つ場合、右辺に * を付けることで to_a の結果を利用できます。つまり、上記は以下のように書くことができます。(ここでの
`_' は、[[m:$&]] を捨てるために適当に選んだ変数名)
_, foo, bar, baz = */(foo)(bar)(baz)/.match("foobarbaz")
@@ -393,10 +363,8 @@ pos を指定しても [[m:MatchData#offset]] 等の結果
# => ["foo", "bar", "baz"]
-このような用途に [[m:MatchData#captures]] が使
-えると考えるかも知れませんが、captures では、マッチに失敗した場合、
-nil.captures を呼び出そうとして例外 [[c:NoMethodError]] が発生して
-しまいます。
+このような用途に [[m:MatchData#captures]] が使えると考えるかも知れませんが、captures では、マッチに失敗した場合、
+nil.captures を呼び出そうとして例外 [[c:NoMethodError]] が発生してしまいます。
foo, bar, baz = /(foo)(bar)(baz)/.match("foobar").captures
@@ -407,9 +375,7 @@ nil.captures を呼び出そうとして例外 [[c:NoMethodError]] が発生し
--- match?(str, pos = 0) -> bool
-指定された文字列 str に対して 位置 pos から自身が表す正規表現によるマッチングを行います。
-マッチした場合 true を返し、マッチしない場合には false を返します。
-また、[[m:$~]] などパターンマッチに関する組み込み変数の値は変更されません。
+指定された文字列 str に対して 位置 pos から自身が表す正規表現によるマッチングを行います。マッチした場合 true を返し、マッチしない場合には false を返します。また、[[m:$~]] などパターンマッチに関する組み込み変数の値は変更されません。
/R.../.match?("Ruby") #=> true
/R.../.match?("Ruby", 1) #=> false
@@ -428,10 +394,7 @@ nil.captures を呼び出そうとして例外 [[c:NoMethodError]] が発生し
[[m:Regexp::NOENCODING]],
の論理和です。
-これで得られるオプションには生成時に指定したもの以外の
-オプションを含んでいる場合があります。これらのビットは
-内部的に用いられているもので、[[m:Regexp.new]] にこれらを
-渡しても無視されます。
+これで得られるオプションには生成時に指定したもの以外のオプションを含んでいる場合があります。これらのビットは内部的に用いられているもので、[[m:Regexp.new]] にこれらを渡しても無視されます。
p Regexp::IGNORECASE # => 1
p //i.options # => 1
@@ -453,15 +416,13 @@ nil.captures を呼び出そうとして例外 [[c:NoMethodError]] が発生し
--- to_s -> String
-正規表現の文字列表現を生成して返します。返される文字列は他の正規表
-現に埋め込んでもその意味が保持されるようになっています。
+正規表現の文字列表現を生成して返します。返される文字列は他の正規表現に埋め込んでもその意味が保持されるようになっています。
re = /foo|bar|baz/i
p re.to_s # => "(?i-mx:foo|bar|baz)"
p /#{re}+/o # => /(?i-mx:foo|bar|baz)+/
-ただし、後方参照を含む正規表現は意図通りにはならない場合があります。
-この場合は名前付きキャプチャを使用すると影響を受けにくくなります。
+ただし、後方参照を含む正規表現は意図通りにはならない場合があります。この場合は名前付きキャプチャを使用すると影響を受けにくくなります。
re = /(foo|bar)\1/ # \1 は、foo か bar
p /(baz)#{re}/ # \1 は、baz
@@ -503,8 +464,7 @@ otherが同じパターン、オプション、文字コードの正規表現で
@see [[m:Regexp#to_s]]
--- encoding -> Encoding
-正規表現オブジェクトのエンコーディングを表す [[c:Encoding]] オブジェクト
-を返します。
+正規表現オブジェクトのエンコーディングを表す [[c:Encoding]] オブジェクトを返します。
#@#noexample 正規表現ページのエンコーディングを参照
@@ -514,8 +474,7 @@ otherが同じパターン、オプション、文字コードの正規表現で
正規表現に含まれる名前付きキャプチャ(named capture)の情報を
[[c:Hash]] で返します。
-Hash のキーは名前付きキャプチャの名前で、値は
-その名前に関連付けられたキャプチャの index のリストを返します。
+Hash のキーは名前付きキャプチャの名前で、値はその名前に関連付けられたキャプチャの index のリストを返します。
/(?<foo>.)(?<bar>.)/.named_captures
#=> {"foo"=>[1], "bar"=>[2]}
@@ -528,8 +487,7 @@ Hash のキーは名前付きキャプチャの名前で、値は
#=> {}
--- names -> [String]
-正規表現に含まれる名前付きキャプチャ(named capture)の名前を
-文字列の配列で返します。
+正規表現に含まれる名前付きキャプチャ(named capture)の名前を文字列の配列で返します。
/(?<foo>.)(?<bar>.)(?<baz>.)/.names
@@ -544,20 +502,15 @@ Hash のキーは名前付きキャプチャの名前で、値は
--- EXTENDED -> Integer
-バックスラッシュでエスケープされていない空白と # から改行までを無
-視します。正規表現リテラルの //x オプションと同じ
-です。(空白を入れる場合は\でエスケープして\ (<-空白)と
-指定します)
+バックスラッシュでエスケープされていない空白と # から改行までを無視します。正規表現リテラルの //x オプションと同じです。(空白を入れる場合は\でエスケープして\ (<-空白)と指定します)
--- IGNORECASE -> Integer
-文字の大小の違いを無視します。
-正規表現リテラルの //i オプションと同じです。
+文字の大小の違いを無視します。正規表現リテラルの //i オプションと同じです。
--- MULTILINE -> Integer
-複数行モード。正規表現 "." が改行にマッチするようになります。
-正規表現リテラルの //m オプションと同じです。
+複数行モード。正規表現 "." が改行にマッチするようになります。正規表現リテラルの //m オプションと同じです。
--- FIXEDENCODING -> Integer
@@ -567,7 +520,6 @@ Hash のキーは名前付きキャプチャの名前で、値は
--- NOENCODING -> Integer
-正規表現のマッチ時に文字列のエンコーディングを無視し、
-バイト列としてマッチすることを意味します。
+正規表現のマッチ時に文字列のエンコーディングを無視し、バイト列としてマッチすることを意味します。
正規表現リテラルの n オプションに対応します。
diff --git a/refm/api/src/_builtin/RubyVM b/refm/api/src/_builtin/RubyVM
index cb2bd813..3239d374 100644
--- a/refm/api/src/_builtin/RubyVM
+++ b/refm/api/src/_builtin/RubyVM
@@ -51,7 +51,5 @@ Ruby の VM を表すクラスです。
[[c:RubyVM]] のデフォルトのパラメータを返します。
-[注意] この値は C Ruby 固有のものです。変更しても [[c:RubyVM]] の動作に
-は影響しません。また、仕様は変更される場合があるため、この値に依存すべ
-きではありません。
+[注意] この値は C Ruby 固有のものです。変更しても [[c:RubyVM]] の動作には影響しません。また、仕様は変更される場合があるため、この値に依存すべきではありません。
#@end
diff --git a/refm/api/src/_builtin/RubyVM__InstructionSequence b/refm/api/src/_builtin/RubyVM__InstructionSequence
index ac50f7fa..eb8c0093 100644
--- a/refm/api/src/_builtin/RubyVM__InstructionSequence
+++ b/refm/api/src/_builtin/RubyVM__InstructionSequence
@@ -2,14 +2,10 @@
Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
-[[c:Method]]、[[c:Proc]] オブジェクトや Ruby のソースコードを表す文字列
-から VM の命令シーケンスを得る事ができます。また、
-RubyVM::InstructionSequence オブジェクトを元に命令シーケンスを読みやす
-い文字列に変換する事もできます。Ruby の命令シーケンスコンパイラの設定を
-扱う必要がありますが、Ruby の VM がどのように働くかを知るのに有用です。
+[[c:Method]]、[[c:Proc]] オブジェクトや Ruby のソースコードを表す文字列から VM の命令シーケンスを得る事ができます。また、
+RubyVM::InstructionSequence オブジェクトを元に命令シーケンスを読みやすい文字列に変換する事もできます。Ruby の命令シーケンスコンパイラの設定を扱う必要がありますが、Ruby の VM がどのように働くかを知るのに有用です。
-VM の命令シーケンスの一覧はRuby のソースコード中の insns.def から参照で
-きます。
+VM の命令シーケンスの一覧はRuby のソースコード中の insns.def から参照できます。
* [[url:http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/insns.def?view=markup]]
@@ -48,8 +44,7 @@ VM の命令シーケンスの一覧はRuby のソースコード中の insns.de
引数 file で指定した Ruby のソースコードを元にコンパイル済みの
[[c:RubyVM::InstructionSequence]] オブジェクトを作成して返します。
-[[m:RubyVM::InstructionSequence.compile]] とは異なり、file、path などの
-メタデータは自動的に取得します。
+[[m:RubyVM::InstructionSequence.compile]] とは異なり、file、path などのメタデータは自動的に取得します。
@param file ファイル名を文字列で指定します。
@@ -69,8 +64,7 @@ VM の命令シーケンスの一覧はRuby のソースコード中の insns.de
--- compile_option -> Hash
-命令シーケンスのコンパイル時のデフォルトの最適化オプションを Hash で返
-します。
+命令シーケンスのコンパイル時のデフォルトの最適化オプションを Hash で返します。
@see [[m:RubyVM::InstructionSequence.compile_option=]]
@@ -98,8 +92,7 @@ options で指定します。
//}
:debug_level をキーに指定した場合は値を数値で指定します。
-.new、.compile、.compile_file メソッドの実行の際に option 引数を指定し
-た場合はその実行のみ最適化オプションを変更する事もできます。
+.new、.compile、.compile_file メソッドの実行の際に option 引数を指定した場合はその実行のみ最適化オプションを変更する事もできます。
@see [[m:RubyVM::InstructionSequence.new]],
[[m:RubyVM::InstructionSequence.compile]],
@@ -109,8 +102,7 @@ options で指定します。
--- disassemble(body) -> String
引数 body で指定したオブジェクトから作成した
-[[c:RubyVM::InstructionSequence]] オブジェクトを人間が読める形式の文字
-列に変換して返します。
+[[c:RubyVM::InstructionSequence]] オブジェクトを人間が読める形式の文字列に変換して返します。
@param body [[c:Proc]]、[[c:Method]] オブジェクトを指定します。
@@ -337,8 +329,7 @@ self の命令シーケンスを評価してその結果を返します。
self が表す命令シーケンスの相対パスを返します。
-self の作成時に指定した文字列を返します。self を文字列から作成していた
-場合は "<compiled>" を返します。
+self の作成時に指定した文字列を返します。self を文字列から作成していた場合は "<compiled>" を返します。
例1:irb で実行した場合
@@ -388,11 +379,9 @@ self を文字列から作成していた場合は nil を返します。
--- label -> String
-self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、
-モジュール名などで構成されます。
+self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、モジュール名などで構成されます。
-トップレベルでは "<main>" を返します。self を文字列から作成していた場合
-は "<compiled>" を返します。
+トップレベルでは "<main>" を返します。self を文字列から作成していた場合は "<compiled>" を返します。
例1:irb で実行した場合
diff --git a/refm/api/src/_builtin/RuntimeError b/refm/api/src/_builtin/RuntimeError
index 0674edf9..8c39092f 100644
--- a/refm/api/src/_builtin/RuntimeError
+++ b/refm/api/src/_builtin/RuntimeError
@@ -1,5 +1,4 @@
= class RuntimeError < StandardError
-特定の例外クラスには該当しないエラーが起こったときに発生します。
-また [[m:Kernel.#raise]] で例外クラスを指定しなかった場合も
+特定の例外クラスには該当しないエラーが起こったときに発生します。また [[m:Kernel.#raise]] で例外クラスを指定しなかった場合も
RuntimeError が発生します。
diff --git a/refm/api/src/_builtin/ScriptError b/refm/api/src/_builtin/ScriptError
index 6f7195ab..bf31c473 100644
--- a/refm/api/src/_builtin/ScriptError
+++ b/refm/api/src/_builtin/ScriptError
@@ -9,5 +9,4 @@
* [[c:NotImplementedError]]
* [[c:SyntaxError]]
-これらの例外が発生したときは Ruby スクリプト自体に
-バグがある可能性が高いと考えられます。
+これらの例外が発生したときは Ruby スクリプト自体にバグがある可能性が高いと考えられます。
diff --git a/refm/api/src/_builtin/Signal b/refm/api/src/_builtin/Signal
index ff0876c8..b94671dc 100644
--- a/refm/api/src/_builtin/Signal
+++ b/refm/api/src/_builtin/Signal
@@ -6,8 +6,7 @@ UNIX のシグナル関連の操作を行うモジュールです。
--- list -> Hash
-シグナル名とシグナル番号を対応づけた [[c:Hash]] オブジェクトを返し
-ます。
+シグナル名とシグナル番号を対応づけた [[c:Hash]] オブジェクトを返します。
例:
@@ -21,14 +20,9 @@ UNIX のシグナル関連の操作を行うモジュールです。
--- trap(signal) { ... } -> String | Proc | nil
指定された割り込み signal に対するハンドラとして
-command を登録します。
-指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。
-ブロックを指定した場合にはブロックをハンドラとして登録します。
-
-trap は前回の trap で設定したハンドラを返します。
-文字列を登録していた場合はそれを、
-ブロックを登録していたらそれを [[c:Proc]] オブジェクトに変換して返します。
-また何も登録されていないときも nil を返します。
+command を登録します。指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。ブロックを指定した場合にはブロックをハンドラとして登録します。
+
+trap は前回の trap で設定したハンドラを返します。文字列を登録していた場合はそれを、ブロックを登録していたらそれを [[c:Proc]] オブジェクトに変換して返します。また何も登録されていないときも nil を返します。
ruby の仕組みの外でシグナルハンドラが登録された場合
(例えば拡張ライブラリが独自に sigaction を呼んだ場合など)
も nil を返します。
@@ -60,8 +54,7 @@ ruby の仕組みの外でシグナルハンドラが登録された場合
TERM BREAK ABRT EXIT しか定義されていません。
いくつかのシグナルに対して、Ruby インタプリタは例外 [[c:Interrupt]] や
-[[c:SignalException]] を発生させます。このようなシグナルは例外処理によっ
-て捕捉することもできます。
+[[c:SignalException]] を発生させます。このようなシグナルは例外処理によって捕捉することもできます。
例:
diff --git a/refm/api/src/_builtin/SignalException b/refm/api/src/_builtin/SignalException
index 372979d3..f2d9e980 100644
--- a/refm/api/src/_builtin/SignalException
+++ b/refm/api/src/_builtin/SignalException
@@ -3,11 +3,9 @@
捕捉していないシグナルを受け取ったときに発生します。
実際に発生したシグナル名は、
-[[m:Exception#message]] から
-「"SIG" + シグナル名」という形で得られます。
+[[m:Exception#message]] から「"SIG" + シグナル名」という形で得られます。
-デフォルトの状態では、
-以下のシグナルが SignalException を発生させます。
+デフォルトの状態では、以下のシグナルが SignalException を発生させます。
* SIGALRM
* SIGHUP
@@ -25,11 +23,9 @@
--- new(sig_name) -> SignalException
--- new(sig_number, sig_name) -> SignalException
-引数で指定したシグナルに関する SignalException オブジェクトを生成して返
-します。
+引数で指定したシグナルに関する SignalException オブジェクトを生成して返します。
-引数は [[m:Signal.#list]] に含まれるもののいずれかを指定する必要があり
-ます。
+引数は [[m:Signal.#list]] に含まれるもののいずれかを指定する必要があります。
@param sig_name シグナル名を [[c:Symbol]] オブジェクト、文字列のいずれ
かで指定します。
diff --git a/refm/api/src/_builtin/StandardError b/refm/api/src/_builtin/StandardError
index 9781765e..969be63b 100644
--- a/refm/api/src/_builtin/StandardError
+++ b/refm/api/src/_builtin/StandardError
@@ -1,7 +1,6 @@
= class StandardError < Exception
-通常のプログラムで発生する可能性の高い
-例外クラスを束ねるためのクラスです。
+通常のプログラムで発生する可能性の高い例外クラスを束ねるためのクラスです。
StandardError とそのサブクラスは、
rescue 節でクラスを省略したときにも捕捉できます。
diff --git a/refm/api/src/_builtin/String b/refm/api/src/_builtin/String
index c537852b..2655a3b1 100644
--- a/refm/api/src/_builtin/String
+++ b/refm/api/src/_builtin/String
@@ -3,11 +3,9 @@
include Comparable
文字列のクラスです。
-NUL 文字を含む任意のバイト列を扱うことができます。
-文字列の長さにはメモリ容量以外の制限はありません。
+NUL 文字を含む任意のバイト列を扱うことができます。文字列の長さにはメモリ容量以外の制限はありません。
-文字列は通常、文字列リテラルを使って生成します。
-以下に文字列リテラルの例をいくつか示します。
+文字列は通常、文字列リテラルを使って生成します。以下に文字列リテラルの例をいくつか示します。
#@samplecode 文字列リテラルの例
'str\\ing' # シングルクオート文字列 (エスケープシーケンスがほぼ無効)
@@ -47,11 +45,9 @@ End
===[a:mutable] 破壊的な変更
-Ruby の String クラスは mutable です。
-つまり、オブジェクト自体を破壊的に変更できます。
+Ruby の String クラスは mutable です。つまり、オブジェクト自体を破壊的に変更できます。
-「破壊的な変更」とは、あるオブジェクトの内容自体を変化させることです。
-例えば文字列のすべての文字を破壊的に大文字へ変更する
+「破壊的な変更」とは、あるオブジェクトの内容自体を変化させることです。例えば文字列のすべての文字を破壊的に大文字へ変更する
[[m:String#upcase!]] メソッドの使用例を以下に示します。
#@samplecode 例:String#upcase!
@@ -62,12 +58,10 @@ p a # => "STRING"
p b # => "STRING"
#@end
-この例では、a に対してメソッドを呼んだにも関わらず b も変更されています。
-これは、変数 a と b が一つの文字列オブジェクトを指していて、
+この例では、a に対してメソッドを呼んだにも関わらず b も変更されています。これは、変数 a と b が一つの文字列オブジェクトを指していて、
upcase! メソッドでそのオブジェクト自体が変更されたからです。
-upcase! の非破壊版である [[m:String#upcase]] を使った例を以下に示します。
-こちらでは a の変更が b に波及しません。
+upcase! の非破壊版である [[m:String#upcase]] を使った例を以下に示します。こちらでは a の変更が b に波及しません。
#@samplecode 例:String#upcase
a = "string"
@@ -77,29 +71,17 @@ p a # => "STRING"
p b # => "string"
#@end
-一般には、破壊的「ではない」メソッドを
-中心に使っていくほうがバグが出にくくなります。
+一般には、破壊的「ではない」メソッドを中心に使っていくほうがバグが出にくくなります。
-String クラスのメソッドには破壊的なメソッドも非破壊的なメソッドもあります。
-破壊的なメソッドの例としては concat, sub!, upcase! などが挙げられます。
-非破壊的なメソッドの例としては index, sub, upcase などが挙げられます。
+String クラスのメソッドには破壊的なメソッドも非破壊的なメソッドもあります。破壊的なメソッドの例としては concat, sub!, upcase! などが挙げられます。非破壊的なメソッドの例としては index, sub, upcase などが挙げられます。
-同じ動作で破壊的なメソッドと非破壊的なメソッドの両方が定義されているときは、
-破壊的なバージョンには名前の最後に「!」が付いています。
-例えば upcase メソッドは非破壊的で、upcase! メソッドは破壊的です。
+同じ動作で破壊的なメソッドと非破壊的なメソッドの両方が定義されているときは、破壊的なバージョンには名前の最後に「!」が付いています。例えば upcase メソッドは非破壊的で、upcase! メソッドは破壊的です。
-ただし、この命名ルールを
-「破壊的なメソッドにはすべて『!』が付いている」と解釈しないでください。
-例えば concat には「!」が付いていませんが、破壊的です。あくまでも、
-「『!』が付いているメソッドと付いていないメソッドの両方があるときは、
-『!』が付いているほうが破壊的」というだけです。
-「『!』が付いているならば破壊的」は常に成立しますが、逆は必ずしも成立しません。
+ただし、この命名ルールを「破壊的なメソッドにはすべて『!』が付いている」と解釈しないでください。例えば concat には「!」が付いていませんが、破壊的です。あくまでも、「『!』が付いているメソッドと付いていないメソッドの両方があるときは、『!』が付いているほうが破壊的」というだけです。「『!』が付いているならば破壊的」は常に成立しますが、逆は必ずしも成立しません。
===[a:m17n] 多言語化と文字列のエンコーディング
-String オブジェクトは自身のエンコーディング情報を持ちます。
-インスタンスメソッドはエンコーディングに従い、1バイトではなく1文字を単位として動作します。
-エンコーディングの変換にはメソッド [[m:String#encode]] を使います。
+String オブジェクトは自身のエンコーディング情報を持ちます。インスタンスメソッドはエンコーディングに従い、1バイトではなく1文字を単位として動作します。エンコーディングの変換にはメソッド [[m:String#encode]] を使います。
#@samplecode 例:エンコーディングの変換
p "いろは".size #=> 3
@@ -121,12 +103,7 @@ p u.encoding #=> Encoding::UTF_8
==== 文字列同士の比較・結合
-文字列同士の比較・結合などでは両者のエンコーディングを意識する必要があります。
-例えば [[m:String#==]] や [[m:String#eql?]] は両者のエンコーディングが等しく
-バイト列表現が等しい場合にのみ true を返します。
-このときエンコーディングが UTF-8 であっても正規化せずに比較します。
-文字列の結合も同様です。異なるエンコーディング同士の文字列を結合する時は
-明示的にエンコーディングを変換する必要があります。
+文字列同士の比較・結合などでは両者のエンコーディングを意識する必要があります。例えば [[m:String#==]] や [[m:String#eql?]] は両者のエンコーディングが等しくバイト列表現が等しい場合にのみ true を返します。このときエンコーディングが UTF-8 であっても正規化せずに比較します。文字列の結合も同様です。異なるエンコーディング同士の文字列を結合する時は明示的にエンコーディングを変換する必要があります。
#@samplecode 例:文字列の結合
s = "いろは"
@@ -139,8 +116,7 @@ p s + "\u{4f53}".encode("EUC-JP") #=> "合体"
p s + "\u{4f53}" #=> Encoding::CompatibilityError
#@end
-[[m:String#eql?]] はハッシュのキーの比較に使われますので、
-ハッシュのキーに非 ASCII 文字列を使う場合には注意が必要です。
+[[m:String#eql?]] はハッシュのキーの比較に使われますので、ハッシュのキーに非 ASCII 文字列を使う場合には注意が必要です。
#@samplecode 動作例: (注)一行目にmagic commentが必要です。
# encoding: UTF-8
@@ -154,9 +130,7 @@ p h[s] #=> nil
==== 7bit クリーンな文字列
-ASCII 互換エンコーディングをもつ 7bit クリーンな文字列は
-エンコーディングに関わらず ASCII として扱うことができます。
-例えば [[m:String#==]] は両者の文字エンコーディングが異なっていても
+ASCII 互換エンコーディングをもつ 7bit クリーンな文字列はエンコーディングに関わらず ASCII として扱うことができます。例えば [[m:String#==]] は両者の文字エンコーディングが異なっていても
true を返します。
ASCII 互換エンコーディングをもつ文字列にエンコーディングの変換なしで結合することができます。
@@ -168,22 +142,17 @@ ASCII 互換エンコーディングをもつ文字列にエンコーディン
p a + b #=> "abcabc"
#@end
-ここで言う「ASCII互換エンコーディング」とは、コードポイントが同一という意味ではなく
-バイト列が同じことを意味します。従って UTF-16 はASCII互換ではありません。
-また厳密性を追求せず、おおむね互換なら互換と呼びます。よって Shift_JIS は ASCII 互換です。
+ここで言う「ASCII互換エンコーディング」とは、コードポイントが同一という意味ではなくバイト列が同じことを意味します。従って UTF-16 はASCII互換ではありません。また厳密性を追求せず、おおむね互換なら互換と呼びます。よって Shift_JIS は ASCII 互換です。
==== バイト列を表す文字列
-文字列ではない単なるバイト列も String オブジェクトで表されます。
-その時のエンコーディングは ASCII-8BIT です。
+文字列ではない単なるバイト列も String オブジェクトで表されます。その時のエンコーディングは ASCII-8BIT です。
== Class Methods
--- try_convert(obj) -> String | nil
-obj を String に変換しようと試みます。変換には [[m:Object#to_str]] メソッ
-ドが使われます。変換後の文字列を返すか、何らかの理由により変換できなかっ
-た場合は nil が返されます。
+obj を String に変換しようと試みます。変換には [[m:Object#to_str]] メソッドが使われます。変換後の文字列を返すか、何らかの理由により変換できなかった場合は nil が返されます。
@param obj 変換する任意のオブジェクト
@return 変換後の文字列または nil
@@ -203,8 +172,7 @@ obj を String に変換しようと試みます。変換には [[m:Object#to_st
--- new(string = "", encoding: string.encoding, capacity: string.bytesize) -> String
#@end
-string と同じ内容の新しい文字列を作成して返します。
-引数を省略した場合は空文字列を生成して返します。
+string と同じ内容の新しい文字列を作成して返します。引数を省略した場合は空文字列を生成して返します。
@param string 文字列
#@since 2.3.0
@@ -320,8 +288,7 @@ p str # => "abc" (変化なし)
printf と同じ規則に従って args をフォーマットします。
-args が配列であれば [[m:Kernel.#sprintf]](self, *args) と同じです。
-それ以外の場合は [[m:Kernel.#sprintf]](self, args) と同じです。
+args が配列であれば [[m:Kernel.#sprintf]](self, *args) と同じです。それ以外の場合は [[m:Kernel.#sprintf]](self, args) と同じです。
@param args フォーマットする値、もしくはその配列
@return フォーマットされた文字列
@@ -344,13 +311,11 @@ p "%d,%o" % [10, 10] # => "10,12"
--- <=>(other) -> -1 | 0 | 1 | nil
self と other を ASCII コード順で比較して、
-self が大きい時には 1、等しい時には 0、小さい時には -1 を返します。
-このメソッドは Comparable モジュールのメソッドを実装するために使われます。
+self が大きい時には 1、等しい時には 0、小さい時には -1 を返します。このメソッドは Comparable モジュールのメソッドを実装するために使われます。
other が文字列でない場合、
other.to_str と other.<=> が定義されていれば
-0 - (other <=> self) の結果を返します。
-そうでなければ nil を返します。
+0 - (other <=> self) の結果を返します。そうでなければ nil を返します。
@param other 文字列
@return 比較結果の整数か nil
@@ -448,8 +413,7 @@ p str # => "foo!!!"
--- =~(other) -> Integer
-正規表現 other とのマッチを行います。
-マッチが成功すればマッチした位置のインデックスを、そうでなければ nil を返します。
+正規表現 other とのマッチを行います。マッチが成功すればマッチした位置のインデックスを、そうでなければ nil を返します。
other が正規表現でも文字列でもない場合は
other =~ self を行います。
@@ -470,8 +434,7 @@ p "abcfoo" =~ /foo/ # => 3
--- slice(nth) -> String | nil
nth 番目の文字を返します。
-nth が負の場合は文字列の末尾から数えます。
-つまり、 self.size + nth 番目の文字を返します。
+nth が負の場合は文字列の末尾から数えます。つまり、 self.size + nth 番目の文字を返します。
nth が範囲外を指す場合は nil を返します。
@@ -486,8 +449,7 @@ p 'bar'[3] # => nil
p 'bar'[-4] # => nil
#@end
-このメソッドの仕様は 1.8.x 以前から大きく変更されていますので注意が必要
-です。
+このメソッドの仕様は 1.8.x 以前から大きく変更されていますので注意が必要です。
--- [](nth, len) -> String | nil
--- slice(nth, len) -> String | nil
@@ -537,11 +499,9 @@ p substr.equal?(result) # => false
--- slice(regexp, nth = 0) -> String
正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。
-nth を省略したときや 0 の場合は正規表現がマッチした部分文字列全体を返します。
-正規表現が self にマッチしなかった場合や nth に対応する括弧がないときは nil を返します。
+nth を省略したときや 0 の場合は正規表現がマッチした部分文字列全体を返します。正規表現が self にマッチしなかった場合や nth に対応する括弧がないときは nil を返します。
-このメソッドを実行すると、
-マッチ結果に関する情報が組み込み変数 [[m:$~]] に設定されます。
+このメソッドを実行すると、マッチ結果に関する情報が組み込み変数 [[m:$~]] に設定されます。
@param regexp 取得したい文字列のパターンを示す正規表現
@param nth 取得したい正規表現レジスタのインデックス。整数
@@ -555,9 +515,7 @@ p "def getcnt(line)"[ /def\s+(\w+)/, 1 ] # => "getcnt"
--- [](regexp, name) -> String
--- slice(regexp, name) -> String
-正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の
-部分文字列を返します。正規表現が self にマッチしなかった場合は nil を返
-します。
+正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の部分文字列を返します。正規表現が self にマッチしなかった場合は nil を返します。
@param regexp 正規表現を指定します。
@param name 取得したい部分文字列のパターンを示す正規表現レジスタを示す名前
@@ -593,10 +551,7 @@ rangeで指定したインデックスの範囲に含まれる部分文字列を
range.last が文字列の長さ以上のときは
(文字列の長さ - 1) を指定したものとみなされます。
-range.first が 0 より小さいか文字列の長さより大きいときは nil を
-返します。ただし range.first および range.last のどちらか
-または両方が負の数のときは一度だけ文字列の長さを足して
-再試行します。
+range.first が 0 より小さいか文字列の長さより大きいときは nil を返します。ただし range.first および range.last のどちらかまたは両方が負の数のときは一度だけ文字列の長さを足して再試行します。
#@samplecode 例
'abcd'[ 2 .. 1] # => ""
@@ -629,12 +584,9 @@ range.first が 0 より小さいか文字列の長さより大きいときは n
|<----->| 'abcdef'[4...6] # => 'ef'
|<--------->| 'abcdef'[2...5] # => 'cde'
-range.last が文字列の長さよりも大きいときは文字列の長さを
-指定したものとみなされます。
+range.last が文字列の長さよりも大きいときは文字列の長さを指定したものとみなされます。
-range.first が 0 より小さいか文字列の長さより大きいときは nil を返します。
-ただし range.first と range.last のどちらかまたは両方が負の数
-であるときは一度だけ文字列の長さを足して再試行します。
+range.first が 0 より小さいか文字列の長さより大きいときは nil を返します。ただし range.first と range.last のどちらかまたは両方が負の数であるときは一度だけ文字列の長さを足して再試行します。
#@samplecode 例
'abcd'[ 2 ... 3] # => "c"
@@ -712,8 +664,7 @@ buf["nosuchstring"] = "!!" # IndexError
--- []=(regexp, nth, val)
-正規表現 regexp の nth 番目の括弧にマッチする
-最初の部分文字列を文字列 val で置き換えます。
+正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を文字列 val で置き換えます。
nth が 0 の場合は、マッチした部分文字列全体を val で置き換えます。
@@ -733,8 +684,7 @@ p buf # => "def preprocess(cmd)"
--- []=(regexp, name, val)
-正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の
-部分文字列を文字列 val で置き換えます。
+正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の部分文字列を文字列 val で置き換えます。
@param regexp 置き換えたい部分文字列のパターンを示す正規表現
@param name 置き換えたい部分文字列のパターンを示す正規表現レジスタを示す名前
@@ -785,8 +735,7 @@ rangeで指定したインデックスの範囲に含まれる部分文字列を
#@else
--- capitalize -> String
-文字列先頭の文字を大文字に、残りを小文字に変更した文字列を返します。
-ただし、アルファベット以外の文字は位置に関わらず変更しません。
+文字列先頭の文字を大文字に、残りを小文字に変更した文字列を返します。ただし、アルファベット以外の文字は位置に関わらず変更しません。
#@end
#@samplecode 例
@@ -807,8 +756,7 @@ p "FOOBAR--".capitalize # => "Foobar--"
#@else
--- capitalize! -> self | nil
-文字列先頭の文字を大文字に、残りを小文字に変更します。
-ただし、アルファベット以外の文字は位置に関わらず変更しません。
+文字列先頭の文字を大文字に、残りを小文字に変更します。ただし、アルファベット以外の文字は位置に関わらず変更しません。
#@end
@return capitalize! は self を変更して返しますが、
@@ -829,8 +777,7 @@ p str # => "Foobar"
--- casecmp(other) -> -1 | 0 | 1 | nil
-[[m:String#<=>]] と同様に文字列の順序を比較しますが、
-アルファベットの大文字小文字の違いを無視します。
+[[m:String#<=>]] と同様に文字列の順序を比較しますが、アルファベットの大文字小文字の違いを無視します。
このメソッドの動作は組み込み変数 [[m:$=]] には影響されません。
@@ -859,8 +806,7 @@ nil は文字列のエンコーディングが非互換の時に返されます
#@since 2.4.0
--- casecmp?(other) -> bool | nil
-大文字小文字の違いを無視し文字列を比較します。
-文字列が一致する場合には true を返し、一致しない場合には false を返します。
+大文字小文字の違いを無視し文字列を比較します。文字列が一致する場合には true を返し、一致しない場合には false を返します。
@param other self と比較する文字列
@@ -884,9 +830,7 @@ nil は文字列のエンコーディングが非互換の時に返されます
--- center(width, padding = ' ') -> String
長さ width の文字列に self を中央寄せした文字列を返します。
-self の長さが width より長い時には元の文字列の複製を返します。
-また、第 2 引数 padding を指定したときは
-空白文字の代わりに padding を詰めます。
+self の長さが width より長い時には元の文字列の複製を返します。また、第 2 引数 padding を指定したときは空白文字の代わりに padding を詰めます。
@param width 返り値の文字列の最小の長さ
@param padding 長さが width になるまで self の両側に詰める文字
@@ -907,9 +851,7 @@ p "foo".center(10, "*") # => "***foo****"
--- ljust(width, padding = ' ') -> String
長さ width の文字列に self を左詰めした文字列を返します。
-self の長さが width より長い時には元の文字列の複製を返します。
-また、第 2 引数 padding を指定したときは
-空白文字の代わりに padding を詰めます。
+self の長さが width より長い時には元の文字列の複製を返します。また、第 2 引数 padding を指定したときは空白文字の代わりに padding を詰めます。
@param width 返り値の文字列の最小の長さ
@param padding 長さが width になるまで self の右側に詰める文字
@@ -928,9 +870,7 @@ p "foo".ljust(10, "*") # => "foo*******"
--- rjust(width, padding = ' ') -> String
長さ width の文字列に self を右詰めした文字列を返します。
-self の長さが width より長い時には元の文字列の複製を返します。
-また、第 2 引数 padding を指定したときは
-空白文字の代わりに padding を詰めます。
+self の長さが width より長い時には元の文字列の複製を返します。また、第 2 引数 padding を指定したときは空白文字の代わりに padding を詰めます。
@param width 返り値の文字列の最小の長さ
@param padding 長さが width になるまで self の左側に詰める文字
@@ -948,14 +888,11 @@ p "foo".rjust(10, "*") # => "*******foo"
--- chomp(rs = $/) -> String
-self の末尾から rs で指定する改行コードを取り除いた文字列を生成して返します。
-ただし、rs が "\n" ($/ のデフォルト値) のときは、
-実行環境によらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。
+self の末尾から rs で指定する改行コードを取り除いた文字列を生成して返します。ただし、rs が "\n" ($/ のデフォルト値) のときは、実行環境によらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。
rs に nil を指定した場合、このメソッドは何もしません。
-rs に空文字列 ("") を指定した場合は「パラグラフモード」になり、
-末尾の連続する改行コードをすべて取り除きます。
+rs に空文字列 ("") を指定した場合は「パラグラフモード」になり、末尾の連続する改行コードをすべて取り除きます。
#@samplecode 例
p "foo\n".chomp # => "foo"
@@ -977,14 +914,11 @@ p "foo\n\r".chomp # => "foo\n"
--- chomp!(rs = $/) -> self | nil
-self の末尾から rs で指定する改行コードを取り除きます。
-ただし rs が "\n" ($/ のデフォルト値) のときは、
-システムによらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。
+self の末尾から rs で指定する改行コードを取り除きます。ただし rs が "\n" ($/ のデフォルト値) のときは、システムによらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。
rs に nil を指定した場合、このメソッドは何もしません。
-rs に空文字列 ("") を指定した場合は「パラグラフモード」になり、
-末尾の連続する改行コードをすべて取り除きます。
+rs に空文字列 ("") を指定した場合は「パラグラフモード」になり、末尾の連続する改行コードをすべて取り除きます。
@return chomp! は通常 self を返しますが、取り除く改行がなかった場合は nil を返します。
@@ -1008,8 +942,7 @@ p "foo\n\r".chomp! # => "foo\n"
--- chop -> String
-文字列の最後の文字を取り除いた新しい文字列を生成して返します。
-ただし、文字列の終端が "\r\n" であればその 2 文字を取り除きます。
+文字列の最後の文字を取り除いた新しい文字列を生成して返します。ただし、文字列の終端が "\r\n" であればその 2 文字を取り除きます。
#@samplecode 例
p "string\n".chop # => "string"
@@ -1027,8 +960,7 @@ p "".chop # => ""
--- chop! -> self | nil
-文字列の最後の文字を取り除きます。
-ただし、終端が "\r\n" であればその 2 文字を取り除きます。
+文字列の最後の文字を取り除きます。ただし、終端が "\r\n" であればその 2 文字を取り除きます。
@return chop! は self を変更して返しますが、取り除く文字がなかった場合は nil を返します。
@@ -1077,18 +1009,11 @@ self を返します。
chars で指定された文字が文字列 self にいくつあるか数えます。
-検索する文字を示す引数 chars の形式は [[man:tr(1)]] と同じです。
-つまり、「"a-c"」は文字 a から c を意味し、
-「"^0-9"」のように文字列の先頭が「^」の場合は
-指定文字以外を意味します。
+検索する文字を示す引数 chars の形式は [[man:tr(1)]] と同じです。つまり、「"a-c"」は文字 a から c を意味し、「"^0-9"」のように文字列の先頭が「^」の場合は指定文字以外を意味します。
-文字「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
-同様に、「^」も文字列の先頭にあるときだけ否定の効果を発揮します。
-また、「-」「^」「\」は
-バックスラッシュ (「\」) によりエスケープできます。
+文字「-」は文字列の両端にない場合にだけ範囲指定の意味になります。同様に、「^」も文字列の先頭にあるときだけ否定の効果を発揮します。また、「-」「^」「\」はバックスラッシュ (「\」) によりエスケープできます。
-引数を複数指定した場合は、
-すべての引数にマッチした文字だけを数えます。
+引数を複数指定した場合は、すべての引数にマッチした文字だけを数えます。
@param chars 出現回数を数える文字のパターン
@@ -1114,11 +1039,9 @@ salt には英数字、ドット (「.」)、スラッシュ (「/」) から構
2 バイト以上の文字列を指定します。
暗号化された文字列から暗号化前の文字列 (self) を求めることは一般に困難で、
-self を知っている者のみが同じ暗号化された文字列を生成できます。
-このことから self を知っているかどうかの認証に使うことが出来ます。
+self を知っている者のみが同じ暗号化された文字列を生成できます。このことから self を知っているかどうかの認証に使うことが出来ます。
-salt には、以下の様になるべくランダムな文字列を選ぶべきです。
-他にも [[ruby-list:29297]] などがあります。
+salt には、以下の様になるべくランダムな文字列を選ぶべきです。他にも [[ruby-list:29297]] などがあります。
注意:
@@ -1153,17 +1076,12 @@ p valid_login?("taro", "password") # => 真偽値が得られる
self から strs に含まれる文字を取り除いた文字列を生成して返します。
-str の形式は [[man:tr(1)]] と同じです。
-つまり、`a-c' は a から c を意味し、"^0-9" のように
-文字列の先頭が `^' の場合は指定文字以外を意味します。
+str の形式は [[man:tr(1)]] と同じです。つまり、`a-c' は a から c を意味し、"^0-9" のように文字列の先頭が `^' の場合は指定文字以外を意味します。
-「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
-「^」も文字列の先頭にあるときだけ効果を発揮します。
-また、「-」「^」「\」はバックスラッシュ (「\」)
+「-」は文字列の両端にない場合にだけ範囲指定の意味になります。「^」も文字列の先頭にあるときだけ効果を発揮します。また、「-」「^」「\」はバックスラッシュ (「\」)
によってエスケープできます。
-なお、引数を複数指定した場合は、
-すべての引数にマッチする文字だけが削除されます。
+なお、引数を複数指定した場合は、すべての引数にマッチする文字だけが削除されます。
@param strs 削除する文字列を示す文字列 (のリスト)
@@ -1176,17 +1094,12 @@ p "123456789".delete("2-8", "^4-6") #=> "14569"
self から strs に含まれる文字を破壊的に取り除きます。
-str の形式は [[man:tr(1)]] と同じです。
-つまり、「a-c」は a から c を意味し、"^0-9" のように
-文字列の先頭が「^」の場合は指定文字以外を意味します。
+str の形式は [[man:tr(1)]] と同じです。つまり、「a-c」は a から c を意味し、"^0-9" のように文字列の先頭が「^」の場合は指定文字以外を意味します。
-「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
-「^」も文字列先頭にあるときだけ否定の効果を発揮します。
-また、「-」「^」「\」はバックスラッシュ (「\」)
+「-」は文字列の両端にない場合にだけ範囲指定の意味になります。「^」も文字列先頭にあるときだけ否定の効果を発揮します。また、「-」「^」「\」はバックスラッシュ (「\」)
によってエスケープできます。
-なお、引数を複数指定した場合は、
-すべての引数にマッチする文字だけが削除されます。
+なお、引数を複数指定した場合は、すべての引数にマッチする文字だけが削除されます。
@return 通常は self を返しますが、何も変更が起こらなかった場合は nil を返します。
@@ -1209,8 +1122,7 @@ p str #=> "abc"
#@since 2.4.0
--- downcase(*options) -> String
-全ての大文字を対応する小文字に置き換えた文字列を返します。
-どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
+全ての大文字を対応する小文字に置き換えた文字列を返します。どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
@param options オプションの意味は以下の通りです。
@@ -1238,27 +1150,17 @@ p str #=> "abc"
このオプションは今の所、他のオプションと組み合わせることはできません。
(すなわち現在チュルク語族のバリアントはありません。)
-ASCII のみの大文字小文字変換で有効ないくつかの仮定は、より一般的なケース変換では
-成り立たないことに注意してください。例えば、結果の長さは入力の長さと同じとは
-限りません (文字数でもバイト数でも)。ラウンドトリップできるという仮定も
-成り立ちません (例えば str.downcase == str.upcase.downcase)。
-そして、Unicode 正規化 (すなわち [[m:String#unicode_normalize]]) はケース
-マッピング操作で必ずしも維持されるとは限りません。
+ASCII のみの大文字小文字変換で有効ないくつかの仮定は、より一般的なケース変換では成り立たないことに注意してください。例えば、結果の長さは入力の長さと同じとは限りません (文字数でもバイト数でも)。ラウンドトリップできるという仮定も成り立ちません (例えば str.downcase == str.upcase.downcase)。そして、Unicode 正規化 (すなわち [[m:String#unicode_normalize]]) はケースマッピング操作で必ずしも維持されるとは限りません。
現在 ASCII 以外のケースマッピング/フォールディングは、UTF-8, UTF-16BE/LE,
-UTF-32BE/LE, ISO-8859-1~16 の String/Symbol でサポートされています。
-他のエンコーディングもサポートされる予定です。
+UTF-32BE/LE, ISO-8859-1~16 の String/Symbol でサポートされています。他のエンコーディングもサポートされる予定です。
#@else
--- downcase -> String
-'A' から 'Z' までの
-アルファベット大文字をすべて小文字に置き換えた新しい文字列を生成して返します。
-アルファベット大文字以外の文字はすべてそのまま保存されます。
+'A' から 'Z' までのアルファベット大文字をすべて小文字に置き換えた新しい文字列を生成して返します。アルファベット大文字以外の文字はすべてそのまま保存されます。
-このメソッドはマルチバイト文字列を認識しますが、
-それはあくまでも「1 文字を 1 文字として認識する」だけであって、
-いわゆる全角アルファベットの大文字小文字までは変換しません。
+このメソッドはマルチバイト文字列を認識しますが、それはあくまでも「1 文字を 1 文字として認識する」だけであって、いわゆる全角アルファベットの大文字小文字までは変換しません。
#@end
#@samplecode 例
@@ -1269,20 +1171,15 @@ p "STRing?".downcase # => "string?"
#@since 2.4.0
--- downcase!(*options) -> self | nil
-全ての大文字を対応する小文字に破壊的に置き換えます。
-どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
+全ての大文字を対応する小文字に破壊的に置き換えます。どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
@param options オプションの詳細は [[m:String#downcase]] を参照してください。
#@else
--- downcase! -> self | nil
-文字列中の 'A' から 'Z' までの
-アルファベット大文字をすべて破壊的に小文字に置き換えます。
-アルファベット大文字以外の文字はすべてそのまま保存されます。
+文字列中の 'A' から 'Z' までのアルファベット大文字をすべて破壊的に小文字に置き換えます。アルファベット大文字以外の文字はすべてそのまま保存されます。
-このメソッドはマルチバイト文字列を認識しますが、
-それはあくまでも「1 文字を 1 文字として認識する」だけであって、
-いわゆる全角アルファベットの大文字小文字までは変換しません。
+このメソッドはマルチバイト文字列を認識しますが、それはあくまでも「1 文字を 1 文字として認識する」だけであって、いわゆる全角アルファベットの大文字小文字までは変換しません。
#@end
@return self を変更して返します。変更が無かった場合は nil を返します。
@@ -1325,14 +1222,10 @@ self のエスケープを戻したものを返します。
--- each_line(rs = $/) -> Enumerator
#@end
-文字列中の各行に対して繰り返します。
-行の区切りは rs に指定した文字列で、
-そのデフォルト値は変数 [[m:$/]] の値です。
-各 line には区切りの文字列も含みます。
+文字列中の各行に対して繰り返します。行の区切りは rs に指定した文字列で、そのデフォルト値は変数 [[m:$/]] の値です。各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
-rs に空文字列 "" を指定すると「パラグラフモード」になり、
-改行コードが 2 つ以上連続するところで文字列を分割します
+rs に空文字列 "" を指定すると「パラグラフモード」になり、改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
@param rs 行末を示す文字列
@@ -1373,12 +1266,9 @@ p s.lines("bb").to_a #=> ["aa\nbb", "\ncc\n"]
"aa\nbb\ncc\n".lines # => ["aa\n", "bb\n", "cc\n"]
#@end
-行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。
-各 line には区切りの文字列も含みます。
+行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。各 line には区切りの文字列も含みます。
-rs に nil を指定すると行区切りなしとみなします。 rs に空文字列 "" を指
-定すると「パラグラフモード」になり、 改行コードが 2 つ以上連続するとこ
-ろで文字列を分割します (つまり空行で分割します)。
+rs に nil を指定すると行区切りなしとみなします。 rs に空文字列 "" を指定すると「パラグラフモード」になり、 改行コードが 2 つ以上連続するところで文字列を分割します (つまり空行で分割します)。
#@since 2.4.0
chomp に true を指定すると、分割した各行に対して [[m:String#chomp]]
@@ -1398,8 +1288,7 @@ chomp に true を指定すると、分割した各行に対して [[m:String#ch
省略した場合は false を指定したとみなされます。
#@end
-ブロックが指定された場合は [[m:String#each_line]] と同じように動作しま
-す。ただし obsolete のため、ブロックを指定する場合は
+ブロックが指定された場合は [[m:String#each_line]] と同じように動作します。ただし obsolete のため、ブロックを指定する場合は
[[m:String#each_line]] を使用してください。
@see [[m:String#each_line]]
@@ -1429,8 +1318,7 @@ end
"str".bytes # => [115, 116, 114]
#@end
-ブロックが指定された場合は [[m:String#each_byte]] と同じように動作しま
-す。ただし obsolete のため、ブロックを指定する場合は
+ブロックが指定された場合は [[m:String#each_byte]] と同じように動作します。ただし obsolete のため、ブロックを指定する場合は
[[m:String#each_byte]] を使用してください。
@see [[m:String#each_byte]]
@@ -1449,9 +1337,7 @@ end
index バイト目のバイトを整数で返します。
-index に負を指定すると末尾から数えた位置のバイト
-を取り出します。
-範囲外を指定した場合は nil を返します。
+index に負を指定すると末尾から数えた位置のバイトを取り出します。範囲外を指定した場合は nil を返します。
@param index バイトを取り出す位置
@@ -1485,13 +1371,10 @@ s # => "Monday"
--- gsub(pattern, replace) -> String
-文字列中で pattern にマッチする部分全てを
-文字列 replace で置き換えた文字列を生成して返します。
+文字列中で pattern にマッチする部分全てを文字列 replace で置き換えた文字列を生成して返します。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
-\1 ... \9 は n 番目の括弧の内容に置き換えられます。
-置換文字列内では \`、\'、\+ も使えます。
-これらは [[m:$`]]、[[m:$']]、[[m:$+]] に対応します。
+\1 ... \9 は n 番目の括弧の内容に置き換えられます。置換文字列内では \`、\'、\+ も使えます。これらは [[m:$`]]、[[m:$']]、[[m:$+]] に対応します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@@ -1506,13 +1389,11 @@ p '2.5'.gsub('.', ',') # => "2,5"
注意:
-第 2 引数 replace に [[m:$1]] を埋め込んでも意図した結果にはなりません。
-この文字列が評価される時点ではまだ正規表現マッチが行われておらず、
+第 2 引数 replace に [[m:$1]] を埋め込んでも意図した結果にはなりません。この文字列が評価される時点ではまだ正規表現マッチが行われておらず、
$1 がセットされていないからです。
また、gsub では「\」が部分文字列との置き換えという特別な意味を持つため、
-replace に「\」自身を入れたいときは
-「\」を二重にエスケープしなければなりません。
+replace に「\」自身を入れたいときは「\」を二重にエスケープしなければなりません。
#@samplecode ひとつめの括弧の内容に置き換えるときによくある間違い
p 'xbbb-xbbb'.gsub(/x(b+)/, "#{$1}") # => "-" # NG
@@ -1543,10 +1424,7 @@ puts '\n'.gsub(/\\/) { '\\\\' } # => \\n # OK
--- gsub(pattern) {|matched| .... } -> String
--- gsub(pattern) -> Enumerator
-文字列中で pattern にマッチした部分を順番にブロックに渡し、
-その実行結果で置き換えた文字列を生成して返します。
-ブロックなしの場合と違い、ブロックの中からは
-組み込み変数 [[m:$1]], $2, $3, ... を問題なく参照できます。
+文字列中で pattern にマッチした部分を順番にブロックに渡し、その実行結果で置き換えた文字列を生成して返します。ブロックなしの場合と違い、ブロックの中からは組み込み変数 [[m:$1]], $2, $3, ... を問題なく参照できます。
なお、ブロック付きの gsub で文字列を置き換えない場合は[[String#scan]]
と同じ動作になります。
@@ -1580,12 +1458,9 @@ p "abcabc".gsub(/[bc]/, hash) #=> "aBCaBC"
文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
-\1 ... \9 は n 番目の括弧の内容に置き換えられます。
-置換文字列内では \`、\'、\+ も使えます。
-これらは [[m:$`]]、[[m:$']]、[[m:$+]] に対応します。
+\1 ... \9 は n 番目の括弧の内容に置き換えられます。置換文字列内では \`、\'、\+ も使えます。これらは [[m:$`]]、[[m:$']]、[[m:$+]] に対応します。
-gsub! は通常 self を変更して返しますが、
-置換が起こらなかった場合は nil を返します。
+gsub! は通常 self を変更して返しますが、置換が起こらなかった場合は nil を返します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@@ -1605,13 +1480,11 @@ p buf # => "Str<<ing>>-Str<<ing>>"
注意:
引数 replace の中で [[m:$1]] を使うことはできません。
-replace は gsub メソッドの呼び出しより先に評価されるので、
-まだ gsub の正規表現マッチが行われておらず、
+replace は gsub メソッドの呼び出しより先に評価されるので、まだ gsub の正規表現マッチが行われておらず、
$1 がセットされていないからです。
また、gsub では「\」が部分文字列との置き換えという特別な意味を持つため、
-replace に「\」自身を入れたいときは
-「\」を二重にエスケープしなければなりません。
+replace に「\」自身を入れたいときは「\」を二重にエスケープしなければなりません。
#@samplecode ひとつめの括弧にマッチした部分に置き換えるときによくやる間違い
'abbbcd'.gsub!(/a(b+)/, "#{$1}") # NG
@@ -1627,11 +1500,9 @@ replace に「\」自身を入れたいときは
--- gsub!(pattern) {|matched| .... } -> self | nil
--- gsub!(pattern) -> Enumerator
-文字列中で pattern にマッチする部分全てを順番にブロックに渡し、
-その評価結果に置き換えます。
+文字列中で pattern にマッチする部分全てを順番にブロックに渡し、その評価結果に置き換えます。
-また、ブロックなしの場合と違い、ブロックの中からは
-組み込み変数 [[m:$1]], $2, $3, ... を問題なく参照できます。
+また、ブロックなしの場合と違い、ブロックの中からは組み込み変数 [[m:$1]], $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@@ -1669,9 +1540,7 @@ p str #=> "aBCaBC"
--- hex -> Integer
-文字列に 16 進数で数値が表現されていると解釈して整数に変換します。
-接頭辞 "0x", "0X" とアンダースコアは無視されます。
-文字列が [_0-9a-fA-F] 以外の文字を含むときはその文字以降を無視します。
+文字列に 16 進数で数値が表現されていると解釈して整数に変換します。接頭辞 "0x", "0X" とアンダースコアは無視されます。文字列が [_0-9a-fA-F] 以外の文字を含むときはその文字以降を無視します。
self が空文字列のときは 0 を返します。
@@ -1710,9 +1579,7 @@ p "".hex # => 0
--- index(pattern, pos = 0) -> Integer
-文字列のインデックス pos から右に向かって pattern を検索し、
-最初に見つかった部分文字列の左端のインデックスを返します。
-見つからなければ nil を返します。
+文字列のインデックス pos から右に向かって pattern を検索し、最初に見つかった部分文字列の左端のインデックスを返します。見つからなければ nil を返します。
引数 pattern は探索する部分文字列または正規表現で指定します。
@@ -1781,8 +1648,7 @@ p "foo".intern.to_s == "foo" # => true
--- match(regexp, pos = 0) {|m| ... } -> object
regexp.match(self, pos) と同じです。
-regexp が文字列の場合は、正規表現にコンパイルします。
-詳しくは [[m:Regexp#match]] を参照してください。
+regexp が文字列の場合は、正規表現にコンパイルします。詳しくは [[m:Regexp#match]] を参照してください。
#@samplecode 例: regexp のみの場合
'hello'.match('(.)\1') # => #<MatchData "ll" 1:"l">
@@ -1807,8 +1673,7 @@ regexp が文字列の場合は、正規表現にコンパイルします。
--- match?(regexp, pos = 0) -> bool
regexp.match?(self, pos) と同じです。
-regexp が文字列の場合は、正規表現にコンパイルします。
-詳しくは [[m:Regexp#match?]] を参照してください。
+regexp が文字列の場合は、正規表現にコンパイルします。詳しくは [[m:Regexp#match?]] を参照してください。
#@samplecode 例
"Ruby".match?(/R.../) #=> true
@@ -1825,8 +1690,7 @@ $& #=> nil
self の「次の」文字列を返します。
-「次の」文字列は、対象の文字列の右端から
-アルファベットなら アルファベット順(aの次はb, zの次はa, 大文字も同様)に、
+「次の」文字列は、対象の文字列の右端からアルファベットなら アルファベット順(aの次はb, zの次はa, 大文字も同様)に、
数字なら 10 進数(9 の次は 0)とみなして計算されます。
#@samplecode
@@ -1834,8 +1698,7 @@ p "aa".succ # => "ab"
p "88".succ.succ # => "90"
#@end
-"99" → "100", "AZZ" → "BAA" のような繰り上げも行われます。
-このとき負符号などは考慮されません。
+"99" → "100", "AZZ" → "BAA" のような繰り上げも行われます。このとき負符号などは考慮されません。
#@samplecode
p "99".succ # => "100"
@@ -1844,26 +1707,21 @@ p "a9".succ # => "b0"
p "-9".succ # => "-10"
#@end
-self にアルファベットや数字とそれ以外の文字が混在している場合、
-アルファベットと数字だけが「次の」文字になり、残りは保存されます。
+self にアルファベットや数字とそれ以外の文字が混在している場合、アルファベットと数字だけが「次の」文字になり、残りは保存されます。
#@samplecode
p "1.9.9".succ # => # "2.0.0"
#@end
-逆に self がアルファベットや数字をまったく含まない場合は、
-単純に文字コードを 1 増やします。
+逆に self がアルファベットや数字をまったく含まない場合は、単純に文字コードを 1 増やします。
#@samplecode
p ".".succ # => "/"
#@end
-さらに、self が空文字列の場合は "" を返します。
-このメソッドはマルチバイト文字を意識せず、
-単に文字列をバイト列として扱います。
+さらに、self が空文字列の場合は "" を返します。このメソッドはマルチバイト文字を意識せず、単に文字列をバイト列として扱います。
-なお、succ と逆の動作をするメソッドはありません。
-また、succ という名前の由来は successor です。
+なお、succ と逆の動作をするメソッドはありません。また、succ という名前の由来は successor です。
#@samplecode 例
@@ -1892,21 +1750,13 @@ p "\377".succ # => "\001\000"
--- succ! -> String
--- next! -> String
-self を「次の」文字列に置き換えます。
-「次の」文字列は、アルファベットなら 16 進数、
-数字なら 10 進数とみなして計算されます。
-「次の」文字列の計算では "99" → "100" のように繰り上げも行われます。
-このとき負符号などは考慮されません。
+self を「次の」文字列に置き換えます。「次の」文字列は、アルファベットなら 16 進数、数字なら 10 進数とみなして計算されます。「次の」文字列の計算では "99" → "100" のように繰り上げも行われます。このとき負符号などは考慮されません。
-self にアルファベットや数字とそれ以外の文字が混在している場合、
-アルファベットと数字だけが「次の」文字になり、残りは保存されます。
-逆に self がアルファベットや数字をまったく含まない場合は、
-単純に文字コードを 1 増やします。
+self にアルファベットや数字とそれ以外の文字が混在している場合、アルファベットと数字だけが「次の」文字になり、残りは保存されます。逆に self がアルファベットや数字をまったく含まない場合は、単純に文字コードを 1 増やします。
さらに、self が空文字列の場合は "" を返します。
-このメソッドはマルチバイト文字を意識せず、
-単に文字列をバイト列として扱います。
+このメソッドはマルチバイト文字を意識せず、単に文字列をバイト列として扱います。
なお、succ! と逆の動作をするメソッドはありません。
@@ -1953,8 +1803,7 @@ p "010".oct # => 8
p "0x10".oct # => 16
#@end
-整数とみなせない文字があればそこまでを変換対象とします。
-変換対象が空文字列であれば 0 を返します。
+整数とみなせない文字があればそこまでを変換対象とします。変換対象が空文字列であれば 0 を返します。
符号や _ が含まれる場合も変換対象になります。
@@ -2003,19 +1852,13 @@ p str # => "raboof"
--- rindex(pattern, pos = self.size) -> Integer | nil
-文字列のインデックス pos から左に向かって pattern を探索します。
-最初に見つかった部分文字列の左端のインデックスを返します。
-見つからなければ nil を返します。
+文字列のインデックス pos から左に向かって pattern を探索します。最初に見つかった部分文字列の左端のインデックスを返します。見つからなければ nil を返します。
引数 pattern は探索する部分文字列または正規表現で指定します。
pos が負の場合は、文字列の末尾から数えた位置から探索します。
-rindex と [[m:String#index]] とでは、探索方向だけが逆になります。
-完全に左右が反転した動作をするわけではありません。
-探索はその開始位置を右から左にずらしながら行いますが、
-部分文字列の照合はどちらのメソッドも左から右に向かって行います。
-以下の例を参照してください。
+rindex と [[m:String#index]] とでは、探索方向だけが逆になります。完全に左右が反転した動作をするわけではありません。探索はその開始位置を右から左にずらしながら行いますが、部分文字列の照合はどちらのメソッドも左から右に向かって行います。以下の例を参照してください。
#@samplecode String#index の場合
p "stringstring".index("ing", 1) # => 3
@@ -2047,11 +1890,9 @@ p "foobarfoobar".rindex("bar", -6) # => 3
--- scan(pattern) -> [String] | [[String]]
-self に対して pattern を繰り返しマッチし、
-マッチした部分文字列の配列を返します。
+self に対して pattern を繰り返しマッチし、マッチした部分文字列の配列を返します。
-pattern が正規表現で括弧を含む場合は、
-括弧で括られたパターンにマッチした部分文字列の配列の配列を返します。
+pattern が正規表現で括弧を含む場合は、括弧で括られたパターンにマッチした部分文字列の配列の配列を返します。
@param pattern 探索する部分文字列または正規表現
@@ -2068,8 +1909,7 @@ p "foobarbazfoobarbaz".scan(/(ba)(.)/) # => [["ba", "r"], ["ba", "z"], ["ba", "r
--- scan(pattern) {|s| ... } -> self
pattern がマッチした部分文字列をブロックに渡して実行します。
-pattern が正規表現で括弧を含む場合は、
-括弧で括られたパターンにマッチした文字列の配列を渡します。
+pattern が正規表現で括弧を含む場合は、括弧で括られたパターンにマッチした文字列の配列を渡します。
@param pattern 探索する部分文字列または正規表現
@@ -2101,8 +1941,7 @@ pattern が正規表現で括弧を含む場合は、
--- slice!(first...last) -> String
--- slice!(regexp, nth = 0) -> String
-指定した範囲 ([[m:String#[] ]] 参照) を
-文字列から取り除いたうえで取り除いた部分文字列を返します。
+指定した範囲 ([[m:String#[] ]] 参照) を文字列から取り除いたうえで取り除いた部分文字列を返します。
引数が範囲外を指す場合は nil を返します。
@@ -2117,8 +1956,7 @@ string #=> "thing"
--- split(sep = $;, limit = 0) -> [String] | [[String]]
-第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
-結果を文字列の配列で返します。
+第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、結果を文字列の配列で返します。
第 1 引数 sep は以下のいずれかです。
@@ -2135,9 +1973,7 @@ string #=> "thing"
: 空文字列 '' あるいは空文字列にマッチする正規表現
文字列を 1 文字ずつに分割する。マルチバイト文字を認識する。
-sep が正規表現で、かつその正規表現に括弧が含まれている場合には、
-各括弧のパターンにマッチした文字列も配列に含まれます。
-括弧が複数ある場合は、マッチしたものだけが配列に含まれます。
+sep が正規表現で、かつその正規表現に括弧が含まれている場合には、各括弧のパターンにマッチした文字列も配列に含まれます。括弧が複数ある場合は、マッチしたものだけが配列に含まれます。
第 2 引数 limit は以下のいずれかです。
@@ -2200,13 +2036,10 @@ p "a,b,c,d,e".split(/,/, 7) # => ["a", "b", "c", "d", "e"]
chars に含まれる文字が複数並んでいたら 1 文字にまとめます。
chars の形式は [[man:tr(1)]] と同じです。つまり、
-`a-c' は a から c を意味し、"^0-9" のように
-文字列の先頭が `^' の場合は指定文字以外を意味します。
+`a-c' は a から c を意味し、"^0-9" のように文字列の先頭が `^' の場合は指定文字以外を意味します。
-`-' は文字列の両端にない場合にだけ範囲指定の意味になります。
-同様に、`^' もその効果は文字列の先頭にあるときだけです。また、
-`-', `^', `\' はバックスラッシュ(`\')によ
-りエスケープすることができます。
+`-' は文字列の両端にない場合にだけ範囲指定の意味になります。同様に、`^' もその効果は文字列の先頭にあるときだけです。また、
+`-', `^', `\' はバックスラッシュ(`\')によりエスケープすることができます。
引数を 1 つも指定しない場合は、すべての連続した文字を 1 文字にまとめます。
@@ -2228,13 +2061,10 @@ p "112233445566778899".squeeze("2-8", "^4-6") # =>"11234455667899"
chars に含まれる文字が複数並んでいたら 1 文字にまとめます。
chars の形式は [[man:tr(1)]] と同じです。つまり、
-`a-c' は a から c を意味し、"^0-9" のように
-文字列の先頭が `^' の場合は指定文字以外を意味します。
+`a-c' は a から c を意味し、"^0-9" のように文字列の先頭が `^' の場合は指定文字以外を意味します。
-`-' は文字列の両端にない場合にだけ範囲指定の意味になります。
-同様に、`^' もその効果は文字列の先頭にあるときだけです。また、
-`-', `^', `\' はバックスラッシュ(`\')によ
-りエスケープすることができます。
+`-' は文字列の両端にない場合にだけ範囲指定の意味になります。同様に、`^' もその効果は文字列の先頭にあるときだけです。また、
+`-', `^', `\' はバックスラッシュ(`\')によりエスケープすることができます。
引数を 1 つも指定しない場合は、すべての連続した文字を 1 文字にまとめます。
@@ -2260,10 +2090,7 @@ p str # =>"123456789"
--- strip -> String
-文字列先頭と末尾の空白文字を全て取り除いた文字列を生成して返します。
-空白文字の定義は " \t\r\n\f\v" です。
-また、文字列右側からは "\0" も取り除きますが、
-左側の "\0" は取り除きません。
+文字列先頭と末尾の空白文字を全て取り除いた文字列を生成して返します。空白文字の定義は " \t\r\n\f\v" です。また、文字列右側からは "\0" も取り除きますが、左側の "\0" は取り除きません。
#@samplecode 例
p " abc \r\n".strip #=> "abc"
@@ -2282,13 +2109,9 @@ p str #=> "\tabc\n" (元の文字列は変化しない)
--- strip! -> self | nil
-先頭と末尾の空白文字を全て破壊的に取り除きます。
-空白文字の定義は " \t\r\n\f\v" です。
-また、文字列右側からは "\0" も取り除きますが、
-左側の "\0" は取り除きません。
+先頭と末尾の空白文字を全て破壊的に取り除きます。空白文字の定義は " \t\r\n\f\v" です。また、文字列右側からは "\0" も取り除きますが、左側の "\0" は取り除きません。
-strip! は、内容を変更した self を返します。
-ただし取り除く空白がなかったときは nil を返します。
+strip! は、内容を変更した self を返します。ただし取り除く空白がなかったときは nil を返します。
#@samplecode 例
str = " abc\r\n"
@@ -2308,8 +2131,7 @@ p str # => "\000 abc" # 右側の "\0" のみ取り除かれる
--- lstrip -> String
-文字列の先頭にある空白文字を全て取り除いた新しい文字列を返します。
-空白文字の定義は " \t\r\n\f\v" です。
+文字列の先頭にある空白文字を全て取り除いた新しい文字列を返します。空白文字の定義は " \t\r\n\f\v" です。
#@samplecode 例
p " abc\n".lstrip #=> "abc\n"
@@ -2321,11 +2143,9 @@ p str # => "\000 abc" # 右側の "\0" のみ取り除かれる
--- lstrip! -> self | nil
-文字列の先頭にある空白文字を全て破壊的に取り除きます。
-空白文字の定義は " \t\r\n\f\v" です。
+文字列の先頭にある空白文字を全て破壊的に取り除きます。空白文字の定義は " \t\r\n\f\v" です。
-lstrip! は self を変更して返します。
-ただし取り除く空白がなかったときは nil を返します。
+lstrip! は self を変更して返します。ただし取り除く空白がなかったときは nil を返します。
#@samplecode 例
str = " abc"
@@ -2339,8 +2159,7 @@ p str # => "abc"
--- rstrip -> String
-文字列の末尾にある空白文字を全て取り除いた新しい文字列を返します。
-空白文字の定義は " \t\r\n\f\v\0" です。
+文字列の末尾にある空白文字を全て取り除いた新しい文字列を返します。空白文字の定義は " \t\r\n\f\v\0" です。
#@samplecode 例
p " abc\n".rstrip #=> " abc"
@@ -2357,8 +2176,7 @@ p str #=> "abc\n" (元の文字列は変化しない)
--- rstrip! -> self | nil
-文字列の末尾にある空白文字を全て破壊的に取り除きます。
-空白文字の定義は " \t\r\n\f\v\0" です。
+文字列の末尾にある空白文字を全て破壊的に取り除きます。空白文字の定義は " \t\r\n\f\v\0" です。
#@samplecode 例
str = " abc\n"
@@ -2374,13 +2192,10 @@ p str # => " abc"
--- sub(pattern, replace) -> String
-文字列中で pattern にマッチした最初の部分を
-文字列 replace で置き換えた文字列を生成して返します。
+文字列中で pattern にマッチした最初の部分を文字列 replace で置き換えた文字列を生成して返します。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
-\1 ... \9 は n 番目の括弧の内容に置き換えられます。
-置換文字列内では \`、\'、\+ も使えます。
-これらは [[m:$`]]、[[m:$']]、[[m:$+]] に対応します。
+\1 ... \9 は n 番目の括弧の内容に置き換えられます。置換文字列内では \`、\'、\+ も使えます。これらは [[m:$`]]、[[m:$']]、[[m:$+]] に対応します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@@ -2394,13 +2209,11 @@ p 'xxbbxbb'.sub(/x+(b+)/, 'X<<\1>>') # => "X<<bb>>xbb"
注意:
-第 2 引数 replace に [[m:$1]] を埋め込んでも意図した結果にはなりません。
-この文字列が評価される時点ではまだ正規表現マッチが行われておらず、
+第 2 引数 replace に [[m:$1]] を埋め込んでも意図した結果にはなりません。この文字列が評価される時点ではまだ正規表現マッチが行われておらず、
$1 がセットされていないからです。
また、sub では「\」が部分文字列との置き換えという特別な意味を持つため、
-replace に「\」自身を入れたいときは
-「\」を二重にエスケープしなければなりません。
+replace に「\」自身を入れたいときは「\」を二重にエスケープしなければなりません。
#@samplecode ひとつめの括弧の内容に置き換えるときによくある間違い
p 'xbbb-xbbb'.sub(/x(b+)/, "#{$1}") # => "-xbbb" # NG
@@ -2430,10 +2243,7 @@ puts '\n'.sub(/\\/) { '\\\\' } # => \\n # OK
--- sub(pattern) {|matched| .... } -> String
-文字列中で pattern にマッチした最初の部分をブロックに渡し、
-その評価結果で置き換えた新しい文字列を返します。
-ブロックなしの sub と違い、ブロックの中からは
-組み込み変数 [[m:$1]], $2, $3, ... を問題なく参照できます。
+文字列中で pattern にマッチした最初の部分をブロックに渡し、その評価結果で置き換えた新しい文字列を返します。ブロックなしの sub と違い、ブロックの中からは組み込み変数 [[m:$1]], $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@@ -2463,12 +2273,9 @@ p "abcabc".sub(/[bc]/, hash) #=> "aBCabc"
文字列中で pattern にマッチした最初の部分を文字列 replace へ破壊的に置き換えます。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
-\1 ... \9 は n 番目の括弧の内容に置き換えられます。
-置換文字列内では \`、\'、\+ も使えます。
-これらは [[m:$`]]、[[m:$']]、[[m:$+]] に対応します。
+\1 ... \9 は n 番目の括弧の内容に置き換えられます。置換文字列内では \`、\'、\+ も使えます。これらは [[m:$`]]、[[m:$']]、[[m:$+]] に対応します。
-sub! は通常 self を変更して返しますが、
-置換が起こらなかった場合は nil を返します。
+sub! は通常 self を変更して返しますが、置換が起こらなかった場合は nil を返します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@@ -2488,13 +2295,11 @@ p buf # => "Str<<ing>>-String"
注意:
引数 replace の中で [[m:$1]] を使うことはできません。
-replace は sub メソッドの呼び出しより先に評価されるので、
-まだ sub の正規表現マッチが行われておらず、
+replace は sub メソッドの呼び出しより先に評価されるので、まだ sub の正規表現マッチが行われておらず、
$1 がセットされていないからです。
また、sub では「\」が部分文字列との置き換えという特別な意味を持つため、
-replace に「\」自身を入れたいときは
-「\」を二重にエスケープしなければなりません。
+replace に「\」自身を入れたいときは「\」を二重にエスケープしなければなりません。
#@samplecode ひとつめの括弧にマッチした部分に置き換えるときによくやる間違いと正しい例
'abbbcd'.sub!(/a(b+)/, "#{$1}") # NG
@@ -2509,11 +2314,9 @@ replace に「\」自身を入れたいときは
--- sub!(pattern) {|matched| .... } -> self | nil
-文字列中で pattern にマッチした最初の部分をブロックに渡し、
-その評価結果へ破壊的に置き換えます。
+文字列中で pattern にマッチした最初の部分をブロックに渡し、その評価結果へ破壊的に置き換えます。
-また、ブロックなしの sub と違い、ブロックの中からは
-組み込み変数 [[m:$1]], $2, $3, ... を問題なく参照できます。
+また、ブロックなしの sub と違い、ブロックの中からは組み込み変数 [[m:$1]], $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@@ -2579,9 +2382,7 @@ sum %= 65536
'A' から 'Z' までのアルファベット大文字を小文字に、
'a' から 'z' までのアルファベット小文字を大文字に変更した文字列を返します。
-このメソッドはマルチバイト文字列を認識しますが、
-それはあくまでも「1 文字を 1 文字として認識する」だけであって、
-いわゆる全角アルファベットの大文字小文字までは変換しません。
+このメソッドはマルチバイト文字列を認識しますが、それはあくまでも「1 文字を 1 文字として認識する」だけであって、いわゆる全角アルファベットの大文字小文字までは変換しません。
#@end
#@samplecode 例
@@ -2604,8 +2405,7 @@ p "Access".swapcase # => "aCCESS"
'a' から 'z' までのアルファベット小文字を大文字に、破壊的に変更します。
#@end
-swapcase! は self を変更して返しますが、
-置換が起こらなかった場合は nil を返します。
+swapcase! は self を変更して返しますが、置換が起こらなかった場合は nil を返します。
このメソッドはマルチバイト文字を認識しません。
@@ -2621,8 +2421,7 @@ p str # => "abcXYZ"
文字列を 10 進数表現と解釈して、浮動小数点数 [[c:Float]] に変換します。
-浮動小数点数とみなせなくなるところまでを変換対象とします。
-変換対象が空文字列であれば 0.0 を返します。
+浮動小数点数とみなせなくなるところまでを変換対象とします。変換対象が空文字列であれば 0.0 を返します。
#@samplecode 例
p "10".to_f # => 10.0
@@ -2661,22 +2460,17 @@ p "0xa.a".to_f # => 0.0
p "-010".to_i # => -10
#@end
-整数とみなせない文字があればそこまでを変換対象とします。
-変換対象が空文字列であれば 0 を返します。
+整数とみなせない文字があればそこまでを変換対象とします。変換対象が空文字列であれば 0 を返します。
#@samplecode 例
p "0x11".to_i # => 0
p "".to_i # => 0
#@end
-基数を指定することでデフォルトの 10 進以外に 2 〜 36 進数表現へ変換できます。
-それぞれ Ruby の整数リテラルで使用可能なプリフィクスは無視されます。
-また、base に 0 を指定するとプリフィクスから基数を判断します。
-認識できるプリフィクスは、
+基数を指定することでデフォルトの 10 進以外に 2 〜 36 進数表現へ変換できます。それぞれ Ruby の整数リテラルで使用可能なプリフィクスは無視されます。また、base に 0 を指定するとプリフィクスから基数を判断します。認識できるプリフィクスは、
0b (2 進数)、0 (8 進数)、0o (8 進数)、0d (10 進数)、0x (16 進数) です。
-0, 2 〜 36 以外の引数を指定した場合は
-例外 [[c:ArgumentError]] が発生します。
+0, 2 〜 36 以外の引数を指定した場合は例外 [[c:ArgumentError]] が発生します。
#@samplecode 例
p "01".to_i(2) # => 1
@@ -2716,8 +2510,7 @@ self を返します。
p "str".to_str # => "str"
#@end
-このメソッドは、文字列を他のクラスのインスタンスと混ぜて処理したいときに有効です。
-例えば返り値が文字列か nil であるメソッド some_method があるとき、
+このメソッドは、文字列を他のクラスのインスタンスと混ぜて処理したいときに有効です。例えば返り値が文字列か nil であるメソッド some_method があるとき、
to_s メソッドを使うと以下のように統一的に処理できます。
#@samplecode 例
@@ -2728,20 +2521,16 @@ to_s メソッドを使うと以下のように統一的に処理できます。
--- tr(pattern, replace) -> String
-pattern 文字列に含まれる文字を検索し、
-それを replace 文字列の対応する文字に置き換えます。
+pattern 文字列に含まれる文字を検索し、それを replace 文字列の対応する文字に置き換えます。
pattern の形式は [[man:tr(1)]] と同じです。つまり、
-`a-c' は a から c を意味し、"^0-9" のように
-文字列の先頭が `^' の場合は指定文字以外が置換の対象になります。
+`a-c' は a から c を意味し、"^0-9" のように文字列の先頭が `^' の場合は指定文字以外が置換の対象になります。
-replace に対しても `-' による範囲指定が可能です。
-例えば [[m:String#upcase]] は tr を使って
+replace に対しても `-' による範囲指定が可能です。例えば [[m:String#upcase]] は tr を使って
"foo".tr('a-z', 'A-Z') と書けます。
`-' は文字列の両端にない場合にだけ範囲指定の意味になります。
-`^' も文字列の先頭にあるときにだけ否定の効果を発揮します。
-また、`-', `^', `\' はバックスラッシュ (`\') によりエスケープできます。
+`^' も文字列の先頭にあるときにだけ否定の効果を発揮します。また、`-', `^', `\' はバックスラッシュ (`\') によりエスケープできます。
replace の範囲が pattern の範囲よりも小さい場合は、
replace の最後の文字が無限に続くものとして扱われます。
@@ -2759,16 +2548,12 @@ replace の最後の文字が無限に続くものとして扱われます。
--- tr!(pattern, replace) -> self | nil
-pattern 文字列に含まれる文字を検索し、
-それを replace 文字列の対応する文字に破壊的に置き換えます。
+pattern 文字列に含まれる文字を検索し、それを replace 文字列の対応する文字に破壊的に置き換えます。
-pattern の形式は [[man:tr(1)]] と同じです。
-つまり、`a-c' は a から c を意味し、
-"^0-9" のように文字列の先頭が `^' の場合は
-指定文字以外が置換の対象になります。
+pattern の形式は [[man:tr(1)]] と同じです。つまり、`a-c' は a から c を意味し、
+"^0-9" のように文字列の先頭が `^' の場合は指定文字以外が置換の対象になります。
-replace に対しても `-' による範囲指定が可能です。
-例えば、[[m:String#upcase]] を tr! で書くと、
+replace に対しても `-' による範囲指定が可能です。例えば、[[m:String#upcase]] を tr! で書くと、
#@samplecode
str = "foo"
@@ -2779,14 +2564,12 @@ p str #=> "FOO"
となります。
`-' は文字列の両端にない場合にだけ範囲指定の意味になります。
-`^' も文字列の先頭にあるときにだけ否定の効果を発揮します。
-また、`-', `^', `\' はバックスラッシュ (`\') によりエスケープできます。
+`^' も文字列の先頭にあるときにだけ否定の効果を発揮します。また、`-', `^', `\' はバックスラッシュ (`\') によりエスケープできます。
replace の範囲が pattern の範囲よりも小さい場合は、
replace の最後の文字が無限に続くものと扱われます。
-tr! は self を変更して返しますが、
-置換が起こらなかった場合は nil を返します。
+tr! は self を変更して返しますが、置換が起こらなかった場合は nil を返します。
@param pattern 置き換える文字のパターン
@param replace pattern で指定した文字を置き換える文字
@@ -2796,18 +2579,14 @@ tr! は self を変更して返しますが、
--- tr_s(pattern, replace) -> String
文字列の中に pattern 文字列に含まれる文字が存在したら、
-replace 文字列の対応する文字に置き換えます。さらに、
-置換した部分内に同一の文字の並びがあったらそれを 1 文字に圧縮します。
+replace 文字列の対応する文字に置き換えます。さらに、置換した部分内に同一の文字の並びがあったらそれを 1 文字に圧縮します。
-pattern の形式は [[man:tr(1)]] と同じです。
-つまり「a-c」は a から c を意味し、
+pattern の形式は [[man:tr(1)]] と同じです。つまり「a-c」は a から c を意味し、
"^0-9" のように文字列の先頭が「^」の場合は指定した文字以外が置換の対象になります。
replace でも「-」を使って範囲を指定できます。
-「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
-同様に、「^」もその効果は文字列の先頭にあるときだけです。
-また、「-」、「^」、「\」はバックスラッシュ (「\」) でエスケープできます。
+「-」は文字列の両端にない場合にだけ範囲指定の意味になります。同様に、「^」もその効果は文字列の先頭にあるときだけです。また、「-」、「^」、「\」はバックスラッシュ (「\」) でエスケープできます。
replace の範囲が pattern の範囲よりも小さい場合、
replace の最後の文字が無限に続くものとして扱われます。
@@ -2823,8 +2602,7 @@ p "gooooogle".tr_s("a-z", "A-Z") # => "GOGLE"
注意:
一般に、tr_s を tr と squeeze で置き換えることはできません。
tr と squeeze の組みあわせでは tr の置換後の文字列全体を squeeze しますが、
-tr_s は置換された部分だけを squeeze します。
-以下のコードを参照してください。
+tr_s は置換された部分だけを squeeze します。以下のコードを参照してください。
#@samplecode 例
p "foo".tr_s("o", "f") # => "ff"
@@ -2836,11 +2614,9 @@ p "foo".tr("o", "f").squeeze("f") # => "f"
--- tr_s!(pattern, replace) -> self | nil
文字列の中に pattern 文字列に含まれる文字が存在したら、
-replace 文字列の対応する文字に置き換えます。さらに、
-置換した部分内に同一の文字の並びがあったらそれを 1 文字に圧縮します。
+replace 文字列の対応する文字に置き換えます。さらに、置換した部分内に同一の文字の並びがあったらそれを 1 文字に圧縮します。
-pattern の形式は [[man:tr(1)]] と同じです。
-つまり「a-c」は a から c を意味し、
+pattern の形式は [[man:tr(1)]] と同じです。つまり「a-c」は a から c を意味し、
"^0-9" のように文字列の先頭が「^」の場合は指定した文字以外が置換の対象になります。
replace でも「-」を使って範囲を指定できます。
@@ -2849,22 +2625,18 @@ replace でも「-」を使って範囲を指定できます。
p "gooooogle".tr_s("a-z", "A-Z") # => "GOGLE"
#@end
-「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
-同様に、「^」もその効果は文字列の先頭にあるときだけです。
-また、「-」、「^」、「\」はバックスラッシュ (「\」) でエスケープできます。
+「-」は文字列の両端にない場合にだけ範囲指定の意味になります。同様に、「^」もその効果は文字列の先頭にあるときだけです。また、「-」、「^」、「\」はバックスラッシュ (「\」) でエスケープできます。
replace の範囲が search の範囲よりも小さい場合、
replace の最後の文字が無限に続くものとして扱われます。
tr_s は置換後の文字列を生成して返します。
-tr_s! は self を変更して返しますが、
-置換が起こらなかった場合は nil を返します。
+tr_s! は self を変更して返しますが、置換が起こらなかった場合は nil を返します。
注意:
一般に、tr_s! を tr! と squeeze! で置き換えることはできません。
tr! と squeeze! の組みあわせでは tr! の置換後の文字列全体を squeeze! しますが、
-tr_s! は置換された部分だけを squeeze! します。
-以下のコードを参照してください。
+tr_s! は置換された部分だけを squeeze! します。以下のコードを参照してください。
#@samplecode 例
str = "foo"
@@ -2884,9 +2656,7 @@ p str # => "f"
--- unpack(template) -> Array
-[[m:Array#pack]] で生成された文字列を
-テンプレート文字列 template にしたがってアンパックし、
-それらの要素を含む配列を返します。
+[[m:Array#pack]] で生成された文字列をテンプレート文字列 template にしたがってアンパックし、それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
@@ -2896,8 +2666,7 @@ p str # => "f"
#@since 2.4.0
--- upcase(*options) -> String
-全ての小文字を対応する大文字に置き換えた文字列を返します。
-どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
+全ての小文字を対応する大文字に置き換えた文字列を返します。どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
@param options オプションの詳細は [[m:String#downcase]] を参照してください。
#@else
@@ -2905,9 +2674,7 @@ p str # => "f"
'a' から 'z' までのアルファベット小文字を大文字に変換した文字列を作成して返します。
-このメソッドはマルチバイト文字列を認識しますが、
-それはあくまでも「1 文字を 1 文字として認識する」だけであって、
-いわゆる全角アルファベットの大文字小文字までは変換しません。
+このメソッドはマルチバイト文字列を認識しますが、それはあくまでも「1 文字を 1 文字として認識する」だけであって、いわゆる全角アルファベットの大文字小文字までは変換しません。
#@end
#@samplecode 例
@@ -2920,21 +2687,15 @@ p "stRIng? STring.".upcase # => "STRING? STRING."
#@since 2.4.0
--- upcase!(*options) -> self | nil
-全ての小文字を対応する大文字に破壊的に置き換えます。
-どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
+全ての小文字を対応する大文字に破壊的に置き換えます。どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
@param options オプションの詳細は [[m:String#downcase]] を参照してください。
#@else
--- upcase! -> self | nil
-ASCII 文字列の範囲内で 'a' から 'z' までの
-アルファベット小文字を全て大文字にします。
-このメソッドは self を破壊的に変更して返しますが、
-置換が起こらなかった場合は nil を返します。
+ASCII 文字列の範囲内で 'a' から 'z' までのアルファベット小文字を全て大文字にします。このメソッドは self を破壊的に変更して返しますが、置換が起こらなかった場合は nil を返します。
-このメソッドはマルチバイト文字列を認識しますが、
-それはあくまでも「1 文字を 1 文字として認識する」だけであって、
-いわゆる全角アルファベットの大文字小文字までは変換しません。
+このメソッドはマルチバイト文字列を認識しますが、それはあくまでも「1 文字を 1 文字として認識する」だけであって、いわゆる全角アルファベットの大文字小文字までは変換しません。
#@end
#@samplecode 例
@@ -2948,12 +2709,9 @@ p buf # => "STRING? STRING."
--- upto(max, exclusive = false) {|s| ... } -> self
-self から始めて max まで
-「次の文字列」を順番にブロックに与えて繰り返します。
-「次」の定義については [[m:String#succ]] を参照してください。
+self から始めて max まで「次の文字列」を順番にブロックに与えて繰り返します。「次」の定義については [[m:String#succ]] を参照してください。
-たとえば以下のコードは a, b, c, ... z, aa, ... az, ..., za を
-出力します。
+たとえば以下のコードは a, b, c, ... z, aa, ... az, ..., za を出力します。
#@samplecode
("a" .. "za").each do |str|
@@ -2970,14 +2728,10 @@ self から始めて max まで
--- eql?(other) -> bool
-文字列の内容が文字列 other の内容と等しいときに true を返します。
-等しくなければ false を返します。
+文字列の内容が文字列 other の内容と等しいときに true を返します。等しくなければ false を返します。
-このメソッドは文字列の内容を比較します。
-同一のオブジェクトかどうかを比較するわけではありません。
-つまり、"string".eql?(str) という式を実行した場合には、
-str が "string" という内容の文字列でありさえすれば常に true を返します。
-同一のオブジェクトであるかどうかを判定したいときは
+このメソッドは文字列の内容を比較します。同一のオブジェクトかどうかを比較するわけではありません。つまり、"string".eql?(str) という式を実行した場合には、
+str が "string" という内容の文字列でありさえすれば常に true を返します。同一のオブジェクトであるかどうかを判定したいときは
[[m:Object#equal?]] を使ってください。
アルファベットの大文字小文字を無視して比較したい場合は、[[m:String#upcase]],
@@ -3017,14 +2771,11 @@ eql? で等しい文字列は、常にハッシュ値も等しくなります。
--- inspect -> String
-文字列オブジェクトの内容を、出力したときに人間が読みやすいような適当な形式に変換します。
-変換された文字列は印字可能な文字のみによって構成されます
+文字列オブジェクトの内容を、出力したときに人間が読みやすいような適当な形式に変換します。変換された文字列は印字可能な文字のみによって構成されます
-現在の実装では、Ruby のリテラル形式を使って、
-文字列中の不可視文字をエスケープシーケンスに変換します。
+現在の実装では、Ruby のリテラル形式を使って、文字列中の不可視文字をエスケープシーケンスに変換します。
-このメソッドは主にデバッグのために用意されています。
-永続化などの目的で文字列をダンプしたいときは、
+このメソッドは主にデバッグのために用意されています。永続化などの目的で文字列をダンプしたいときは、
[[m:String#dump]] を使うべきです。
#@samplecode 例
@@ -3107,8 +2858,7 @@ self の末尾が strs のいずれかであるとき true を返します。
[最初のセパレータより前の部分, セパレータ, それ以降の部分]
の 3 要素の配列を返します。
-self がセパレータを含まないときは、
-返り値の第 2 要素と第 3 要素が空文字列になります。
+self がセパレータを含まないときは、返り値の第 2 要素と第 3 要素が空文字列になります。
@param sep セパレータを表す文字列か正規表現を指定します。
@@ -3126,8 +2876,7 @@ p "aaaaa".partition("") # => ["", "", "aaaaa"]
[最後のセパレータより前の部分, セパレータ, それ以降の部分]
の 3 要素の配列を返します。
-self がセパレータを含まないときは、
-返り値の第 1 要素と第 2 要素が空文字列になります。
+self がセパレータを含まないときは、返り値の第 1 要素と第 2 要素が空文字列になります。
@param sep セパレータを表す文字列か正規表現を指定します。
@@ -3161,8 +2910,7 @@ p "aaaaa".rpartition("x") # => ["", "", "aaaaa"]
"hello世界".chars # => ["h", "e", "l", "l", "o", "世", "界"]
#@end
-ブロックが指定された場合は [[m:String#each_char]] と同じように動作しま
-す。ただし obsolete のため、ブロックを指定する場合は
+ブロックが指定された場合は [[m:String#each_char]] と同じように動作します。ただし obsolete のため、ブロックを指定する場合は
[[m:String#each_char]] を使用してください。
@see [[m:String#each_char]]
@@ -3172,8 +2920,7 @@ p "aaaaa".rpartition("x") # => ["", "", "aaaaa"]
文字列の各コードポイントに対して繰り返します。
-UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対しては
-各文字のバイナリ表現由来の値になります。
+UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対しては各文字のバイナリ表現由来の値になります。
#@samplecode 例
#coding:UTF-8
@@ -3196,8 +2943,7 @@ UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対して
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
#@end
-ブロックが指定された場合は [[m:String#each_codepoint]] と同じように動作
-します。ただし obsolete のため、ブロックを指定する場合は
+ブロックが指定された場合は [[m:String#each_codepoint]] と同じように動作します。ただし obsolete のため、ブロックを指定する場合は
[[m:String#each_codepoint]] を使用してください。
@see [[m:String#each_codepoint]]
@@ -3289,10 +3035,7 @@ true を返します。さもなくば false を返します。
--- encode(encoding, from_encoding, options = nil) -> String
--- encode(options = nil) -> String
-self を指定したエンコーディングに変換した文字列を作成して返します。引数
-を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもな
-くば self のエンコーディングが使われます。
-無引数の場合は、[[m:Encoding.default_internal]] が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
+self を指定したエンコーディングに変換した文字列を作成して返します。引数を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもなくば self のエンコーディングが使われます。無引数の場合は、[[m:Encoding.default_internal]] が nil でなければそれが変換先のエンコーディングになり、かつ :invalid => :replace と :undef => :replace が指定されたと見なされ、nil ならば変換は行われません。
@param encoding 変換先のエンコーディングを表す文字列か [[c:Encoding]] オブジェクトを指定します。
@param from_encoding 変換元のエンコーディングを表す文字列か [[c:Encoding]] オブジェクトを指定します。
@@ -3345,8 +3088,7 @@ str.encode("Windows-31J", fallback: { "\u00b7" => "\xA5".force_encoding("Windows
--- encode!(encoding, options = nil) -> self
--- encode!(encoding, from_encoding, options = nil) -> self
-self を指定したエンコーディングに変換し、自身を置き換えます。引数を2つ
-与えた場合、第二引数は変換元のエンコーディングを意味します。さもなくば
+self を指定したエンコーディングに変換し、自身を置き換えます。引数を2つ与えた場合、第二引数は変換元のエンコーディングを意味します。さもなくば
self のエンコーディングが使われます。変換後の self を返します。
(gsub!などと異なり)変換が行なわれなくても self を返します。
@@ -3374,9 +3116,7 @@ s.encode!(Encoding::UTF_8)
* 実部+虚部j
* 絶対値@偏角
-それぞれの数値は以下のいずれかの形式で指定します。先頭の空白文字や複素
-数値の後にある文字列は無視されます。また、数値オブジェクトと同様に各桁
-の間に「_」を入れる事ができます。
+それぞれの数値は以下のいずれかの形式で指定します。先頭の空白文字や複素数値の後にある文字列は無視されます。また、数値オブジェクトと同様に各桁の間に「_」を入れる事ができます。
* "1/3" のような分数の形式
* "0.3" のような10進数の形式
@@ -3406,8 +3146,7 @@ s.encode!(Encoding::UTF_8)
自身を有理数([[c:Rational]])に変換した結果を返します。
-[[m:Kernel.#Rational]] に文字列を指定した時のように、以下のいずれかの形
-式で指定します。
+[[m:Kernel.#Rational]] に文字列を指定した時のように、以下のいずれかの形式で指定します。
* "1/3" のような分数の形式
* "0.3" のような10進数の形式
@@ -3425,8 +3164,7 @@ s.encode!(Encoding::UTF_8)
[[m:Kernel.#Rational]] に文字列を指定した時とは異なる点もあります。
-途中に変換できないような文字列が入っていた場合は、それより先の文字列は
-無視されます。
+途中に変換できないような文字列が入っていた場合は、それより先の文字列は無視されます。
#@samplecode
'21 june 09'.to_r # => (21/1)
@@ -3445,8 +3183,7 @@ s.encode!(Encoding::UTF_8)
--- byteslice(nth) -> String | nil
-nth バイト目の文字を返します。nth が負の場合は文字列の末尾から数えます。
-引数が範囲外を指定した場合は nil を返します。
+nth バイト目の文字を返します。nth が負の場合は文字列の末尾から数えます。引数が範囲外を指定した場合は nil を返します。
@param nth 文字の位置を表す整数を指定します。
@@ -3484,8 +3221,7 @@ nil を返します。
--- byteslice(range) -> String | nil
-range で指定したバイトの範囲に含まれる部分文字列を返します。引数が範囲
-外を指定した場合は nil を返します。
+range で指定したバイトの範囲に含まれる部分文字列を返します。引数が範囲外を指定した場合は nil を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
@@ -3584,8 +3320,7 @@ self が不正なバイト列を含む場合に別の文字列に置き換えま
#@since 2.2.0
--- unicode_normalize(form = :nfc) -> String
-self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode 正規化し
-た文字列を返します。
+self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode 正規化した文字列を返します。
@param form 正規化形式を :nfc、:nfd、:nfkc、:nfkd のいずれかで指定しま
す。省略した場合は :nfc になります。
@@ -3596,8 +3331,7 @@ self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode
このメソッドでの "Unicode 文字列" とは、UTF-8、UTF-16BE/LE、
UTF-32BE/LE だけではなく GB18030、UCS_2BE、and UCS_4BE を含みます。
-また、self が UTF-8 以外のエンコーディングであった場合は一度 UTF-8 に変
-換してから正規化されるため、UTF-8 よりも遅くなっています。
+また、self が UTF-8 以外のエンコーディングであった場合は一度 UTF-8 に変換してから正規化されるため、UTF-8 よりも遅くなっています。
#@samplecode 例
"a\u0300".unicode_normalize # => 'à' ("\u00E0" と同じ)
@@ -3611,8 +3345,7 @@ UTF-32BE/LE だけではなく GB18030、UCS_2BE、and UCS_4BE を含みます
--- unicode_normalize!(form = :nfc) -> self
-self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode 正規化し
-た文字列に置き換えます。
+self を NFC、NFD、NFKC、NFKD のいずれかの正規化形式で Unicode 正規化した文字列に置き換えます。
(gsub!などと異なり)変換が行なわれなくても self を返します。
@@ -3634,8 +3367,7 @@ text == "a\u0300" # => true
--- unicode_normalized?(form = :nfc) -> bool
-self が引数 form で指定された正規化形式で Unicode 正規化された文字列か
-どうかを返します。
+self が引数 form で指定された正規化形式で Unicode 正規化された文字列かどうかを返します。
@param form 正規化形式を :nfc、:nfd、:nfkc、:nfkd のいずれかで指定しま
す。省略した場合は :nfc になります。
@@ -3693,8 +3425,7 @@ Unicode Standard Annex #29 ([[url:http://unicode.org/reports/tr29/]])
"a\u0300".grapheme_clusters # => ["à"]
#@end
-ブロックが指定された場合は [[m:String#each_grapheme_cluster]] と同じように動作
-します。ただし deprecated のため、ブロックを指定する場合は
+ブロックが指定された場合は [[m:String#each_grapheme_cluster]] と同じように動作します。ただし deprecated のため、ブロックを指定する場合は
[[m:String#each_grapheme_cluster]] を使用してください。
@see [[m:String#each_grapheme_cluster]]
diff --git a/refm/api/src/_builtin/Struct b/refm/api/src/_builtin/Struct
index aeeab246..6dda5cfc 100644
--- a/refm/api/src/_builtin/Struct
+++ b/refm/api/src/_builtin/Struct
@@ -4,9 +4,7 @@ include Enumerable
構造体クラス。Struct.new はこのクラスのサブクラスを新たに生成します。
-個々の構造体はサブクラスから [[m:Struct.new]] を使って生成します。個々
-の構造体サブクラスでは構造体のメンバに対するアクセスメソッドが定義され
-ています。
+個々の構造体はサブクラスから [[m:Struct.new]] を使って生成します。個々の構造体サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。
== Class Methods
@@ -28,9 +26,7 @@ include Enumerable
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を出力します
-実装の都合により、クラス名の省略は後づけの機能でした。
-メンバ名に [[c:String]] を指定できるのは後方互換性のためだと考えた方が良いでしょう。
-したがって、メンバ名は [[c:Symbol]] で指定するのが無難です。
+実装の都合により、クラス名の省略は後づけの機能でした。メンバ名に [[c:String]] を指定できるのは後方互換性のためだと考えた方が良いでしょう。したがって、メンバ名は [[c:Symbol]] で指定するのが無難です。
@param args 構造体を定義するための可変長引数。[[c:String]] または [[c:Symbol]] を指定します。
#@since 2.5.0
@@ -38,8 +34,7 @@ include Enumerable
#@end
=== 第一引数が String の場合
-args[0] が [[c:String]] の場合、クラス名になるので、大文字で始まる必要
-があります。つまり、以下のような指定はエラーになります。
+args[0] が [[c:String]] の場合、クラス名になるので、大文字で始まる必要があります。つまり、以下のような指定はエラーになります。
p Struct.new('foo', 'bar')
# => -:1:in `new': identifier foo needs to be constant (NameError)
@@ -49,18 +44,14 @@ args[0] が [[c:String]] の場合、クラス名になるので、大文字で
p Struct.new("Foo", :foo, :bar) # => Struct::Foo
=== 第一引数が Symbol の場合
-args[0] が [[c:Symbol]] の場合、生成した構造体クラスは名前の無い
-クラスになります。名前の無いクラスは最初に名前を求める際に代入され
-ている定数名を検索し、見つかった定数名をクラス名とします。
+args[0] が [[c:Symbol]] の場合、生成した構造体クラスは名前の無いクラスになります。名前の無いクラスは最初に名前を求める際に代入されている定数名を検索し、見つかった定数名をクラス名とします。
Foo = Struct.new(:foo, :bar)
p Foo # => Foo
=== ブロックを指定した場合
-Struct.new にブロックを指定した場合は定義した Struct をコンテキストにブ
-ロックを評価します。また、定義した Struct はブロックパラメータにも渡さ
-れます。
+Struct.new にブロックを指定した場合は定義した Struct をコンテキストにブロックを評価します。また、定義した Struct はブロックパラメータにも渡されます。
Customer = Struct.new(:name, :address) do
def greeting
@@ -69,9 +60,7 @@ Struct.new にブロックを指定した場合は定義した Struct をコン
end
Customer.new("Dave", "123 Main").greeting # => "Hello Dave!"
-Structをカスタマイズする場合はこの方法が推奨されます。無名クラスのサブ
-クラスを作成する方法でカスタマイズする場合は無名クラスが使用されなくなっ
-てしまうことがあるためです。
+Structをカスタマイズする場合はこの方法が推奨されます。無名クラスのサブクラスを作成する方法でカスタマイズする場合は無名クラスが使用されなくなってしまうことがあるためです。
@see [[m:Class.new]]
@@ -254,13 +243,10 @@ self の内容を人間に読みやすい文字列にして返します。
--- select -> Enumerator
#@end
-構造体のメンバの値に対してブロックを評価した値が真であった要素を全て含
-む配列を返します。真になる要素がひとつもなかった場合は空の配列を返しま
-す。
+構造体のメンバの値に対してブロックを評価した値が真であった要素を全て含む配列を返します。真になる要素がひとつもなかった場合は空の配列を返します。
#@since 1.9.1
-ブロックを省略した場合は、各要素に対しブロックを評価し 真になった値の配
-列を返すような [[c:Enumerator]] を返します。
+ブロックを省略した場合は、各要素に対しブロックを評価し 真になった値の配列を返すような [[c:Enumerator]] を返します。
#@end
Lots = Struct.new(:a, :b, :c, :d, :e, :f)
@@ -287,8 +273,7 @@ self の内容を人間に読みやすい文字列にして返します。
#@since 2.3.0
--- dig(key, ...) -> object | nil
-self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し
-ます。途中のオブジェクトが nil であった場合は nil を返します。
+self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返します。途中のオブジェクトが nil であった場合は nil を返します。
@param key キーを任意個指定します。
@@ -341,9 +326,7 @@ true を返します。そうでない場合に false を返します。
--- equal?(other) -> bool
-指定された other が self 自身である場合のみ真を返します。
-これは [[c:Object]] クラスで定義されたデフォルトの動作で
-す。
+指定された other が self 自身である場合のみ真を返します。これは [[c:Object]] クラスで定義されたデフォルトの動作です。
#@include(Struct.attention)
diff --git a/refm/api/src/_builtin/Struct.attention b/refm/api/src/_builtin/Struct.attention
index 707b982c..6d24d7c7 100644
--- a/refm/api/src/_builtin/Struct.attention
+++ b/refm/api/src/_builtin/Struct.attention
@@ -1,3 +1 @@
-[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
-出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
-注意してください。
+[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に注意してください。
diff --git a/refm/api/src/_builtin/Struct__Tms b/refm/api/src/_builtin/Struct__Tms
index d4b0acae..bb7e1c03 100644
--- a/refm/api/src/_builtin/Struct__Tms
+++ b/refm/api/src/_builtin/Struct__Tms
@@ -2,9 +2,7 @@
[[m:Process.#times]] の返り値を表現する構造体です。
-この機能がサポートされているプラットフォーム上でプロセスの
-処理時間に関する情報を保持します。プラットフォームによっては
-使えない値があります。
+この機能がサポートされているプラットフォーム上でプロセスの処理時間に関する情報を保持します。プラットフォームによっては使えない値があります。
@see [[m:Process.#times]]
diff --git a/refm/api/src/_builtin/Symbol b/refm/api/src/_builtin/Symbol
index 2efb26d3..cb056480 100644
--- a/refm/api/src/_builtin/Symbol
+++ b/refm/api/src/_builtin/Symbol
@@ -1,11 +1,9 @@
= class Symbol < Object
include Comparable
-#@#インターンされた文字列
-シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。
+#@#インターンされた文字列シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。
-文字列の代わりに用いることもできますが、必ずしも文字列と同じ振る舞いをするわけではありません。
-同じ内容のシンボルはかならず同一のオブジェクトです。
+文字列の代わりに用いることもできますが、必ずしも文字列と同じ振る舞いをするわけではありません。同じ内容のシンボルはかならず同一のオブジェクトです。
シンボルオブジェクトは以下のようなリテラルで得られます。
#@#リテラル-シンボルリテラルへのリンク貼る
@@ -14,33 +12,24 @@ include Comparable
:'symbol'
%s!symbol! # %記法
-生成されたシンボルの一覧は [[m:Symbol.all_symbols]] で得られます。
-一番目のリテラルでシンボルを表す場合、`:' の後に
-は識別子、メソッド名(`!',`?',`=' などの接尾辞を含む)、変数名
-(`$'などの接頭辞を含む)、再定義できる演算子のいずれかに適合する
-ものしか書くことはできません(そうでなければ文法エラーになります)。
-そうでない文字列をシンボルにしたい場合は残りの表記か [[m:String#intern]] を使用してください。
+生成されたシンボルの一覧は [[m:Symbol.all_symbols]] で得られます。一番目のリテラルでシンボルを表す場合、`:' の後には識別子、メソッド名(`!',`?',`=' などの接尾辞を含む)、変数名
+(`$'などの接頭辞を含む)、再定義できる演算子のいずれかに適合するものしか書くことはできません(そうでなければ文法エラーになります)。そうでない文字列をシンボルにしたい場合は残りの表記か [[m:String#intern]] を使用してください。
=== シンボルの実装と用途
==== 実装
-Rubyの内部実装では、メソッド名や変数名、定数名、クラス名など
-の`名前'を整数で管理しています。これは名前を直接文字列として処理するよりも
-速度面で有利だからです。そしてその整数をRubyのコード上で表現したものがシンボルです。
+Rubyの内部実装では、メソッド名や変数名、定数名、クラス名などの`名前'を整数で管理しています。これは名前を直接文字列として処理するよりも速度面で有利だからです。そしてその整数をRubyのコード上で表現したものがシンボルです。
シンボルは、ソース上では文字列のように見え、内部では整数として扱われる、両者を仲立ちするような存在です。
#@#表現を変える?
-名前を管理するという役割上、シンボルと文字列は一対一に対応します。
-また、文字列と違い、immutable (変更不可)であり、同値ならば必ず同一です。
+名前を管理するという役割上、シンボルと文字列は一対一に対応します。また、文字列と違い、immutable (変更不可)であり、同値ならば必ず同一です。
p "abc" == "abc" #=> true
p "abc".equal?("abc") #=> false
p :abc == :abc #=> true
p :abc.equal?(:abc) #=> true ←同値ならば同一
-==== 用途
-実用面では、シンボルは文字の意味を明確にします。`名前'を指し示す時など、
-文字列そのものが必要なわけではない時に用います。
+==== 用途実用面では、シンボルは文字の意味を明確にします。`名前'を指し示す時など、文字列そのものが必要なわけではない時に用います。
#@#プログラム内部でしか使わない文字列
@@ -67,35 +56,24 @@ Rubyの内部実装では、メソッド名や変数名、定数名、クラス
* シンボルの情報を記録するテーブル
* そのテーブルの要素を指し示すポインタ
-の2つにより実装されています。そのため
-同じシンボル(同じ文字列から作られたシンボル)を
-複製しても同じ要素へのポインタが使われるだけなので
-メモリ使用量は普通の文字列と比べて少ないです。
+の2つにより実装されています。そのため同じシンボル(同じ文字列から作られたシンボル)を複製しても同じ要素へのポインタが使われるだけなのでメモリ使用量は普通の文字列と比べて少ないです。
#@until 2.2.0
-一方、テーブルに記録された情報はプログラムが動いている間
-はずっと保持しつづけられます。そのため、以下のようなコード
+一方、テーブルに記録された情報はプログラムが動いている間はずっと保持しつづけられます。そのため、以下のようなコード
rng = Random.new
100000.times { rng.bytes(1000).intern }
はテーブルのサイズを増大させ、メモリを圧迫します。
-例えば web アプリケーションのようなプロセスを動かしつづけるような
-アプリケーションにおいて、ユーザからの入力を [[m:String#intern]] で
-シンボルに変換するような実装をすると、DoSに弱くなる可能性があります。
+例えば web アプリケーションのようなプロセスを動かしつづけるようなアプリケーションにおいて、ユーザからの入力を [[m:String#intern]] でシンボルに変換するような実装をすると、DoSに弱くなる可能性があります。
#@else
2.2.0 以降においては、テーブルに記録された情報は
-Ruby によって GC されます。すなわち、ある使わなくなった
-シンボルのテーブル上の情報はGCによって削除されます。
+Ruby によって GC されます。すなわち、ある使わなくなったシンボルのテーブル上の情報はGCによって削除されます。
-2.1 以前ではこの機能がなかったため、ユーザからの入力を
-シンボルに変換するようなプログラムは DoS に対して弱い
-可能性がありましたが、
-そのような問題は2.2以降では解決されました。
+2.1 以前ではこの機能がなかったため、ユーザからの入力をシンボルに変換するようなプログラムは DoS に対して弱い可能性がありましたが、そのような問題は2.2以降では解決されました。
-ただし拡張ライブラリ内で rb_intern によって生成された
-シンボルに関するテーブル上の情報はGCされませんので注意してください。
+ただし拡張ライブラリ内で rb_intern によって生成されたシンボルに関するテーブル上の情報はGCされませんので注意してください。
#@end
== Class Methods
@@ -106,8 +84,7 @@ Ruby によって GC されます。すなわち、ある使わなくなった
p Symbol.all_symbols #=> [:RUBY_PLATFORM, :RUBY_VERSION, ...]
-リテラルで表記したシンボルのうち、コンパイル時に値が決まるものはその時に生成されます。
-それ以外の式展開を含むリテラルや、メソッドで表記されたものは式の評価時に生成されます。
+リテラルで表記したシンボルのうち、コンパイル時に値が決まるものはその時に生成されます。それ以外の式展開を含むリテラルや、メソッドで表記されたものは式の評価時に生成されます。
(何にも使われないシンボルは最適化により生成されないことがあります)
def number
@@ -155,8 +132,7 @@ self を返します。
self に対応する Proc オブジェクトを返します。
生成される Proc オブジェクトを呼びだす([[m:Proc#call]])と、
-Proc#callの第一引数をレシーバとして、 self という名前のメソッドを
-残りの引数を渡して呼びだします。
+Proc#callの第一引数をレシーバとして、 self という名前のメソッドを残りの引数を渡して呼びだします。
:to_i.to_proc["ff", 16] #=> 255 ← "ff".to_i(16)と同じです
(1..3).collect(&:to_s) #=> ["1", "2", "3"]
@@ -164,8 +140,7 @@ Proc#callの第一引数をレシーバとして、 self という名前のメ
--- ==(other) -> true | false
-other が同じシンボルの時に真を返します。
-そうでない場合は偽を返します。
+other が同じシンボルの時に真を返します。そうでない場合は偽を返します。
@param other 比較対象のシンボルを指定します。
@@ -189,8 +164,7 @@ other が同じシンボルの時に真を返します。
--- <=>(other) -> -1 | 0 | 1
self と other のシンボルに対応する文字列を ASCII コード順で比較して、
-self が大きい時には正の整数、等しい時には 0、小さい時には負の整数を返し
-ます。
+self が大きい時には正の整数、等しい時には 0、小さい時には負の整数を返します。
@param other 比較対象のシンボルを指定します。
@@ -202,8 +176,7 @@ self が大きい時には正の整数、等しい時には 0、小さい時に
--- casecmp(other) -> -1 | 0 | 1
-[[m:Symbol#<=>]] と同様にシンボルに対応する文字列の順序を比較しますが、
-アルファベットの大文字小文字の違いを無視します。
+[[m:Symbol#<=>]] と同様にシンボルに対応する文字列の順序を比較しますが、アルファベットの大文字小文字の違いを無視します。
#@since 2.4.0
[[m:Symbol#casecmp?]] と違って大文字小文字の違いを無視するのは
@@ -227,8 +200,7 @@ nil は文字列のエンコーディングが非互換の時に返されます
#@since 2.4.0
--- casecmp?(other) -> bool | nil
-大文字小文字の違いを無視しシンボルを比較します。
-シンボルが一致する場合には true を返し、一致しない場合には false を返します。
+大文字小文字の違いを無視しシンボルを比較します。シンボルが一致する場合には true を返し、一致しない場合には false を返します。
@param other 比較対象のシンボルを指定します。
@@ -295,8 +267,7 @@ nil は文字列のエンコーディングが非互換の時に返されます
--- match?(regexp, pos = 0) -> bool
regexp.match?(self, pos) と同じです。
-regexp が文字列の場合は、正規表現にコンパイルします。
-詳しくは [[m:Regexp#match?]] を参照してください。
+regexp が文字列の場合は、正規表現にコンパイルします。詳しくは [[m:Regexp#match?]] を参照してください。
例:
@@ -429,8 +400,7 @@ rangeで指定したインデックスの範囲に含まれる部分文字列を
--- capitalize -> Symbol
#@end
-シンボルに対応する文字列の先頭の文字を大文字に、残りを小文字に変更した
-シンボルを返します。
+シンボルに対応する文字列の先頭の文字を大文字に、残りを小文字に変更したシンボルを返します。
(self.to_s.capitalize.intern と同じです。)
@@ -447,8 +417,7 @@ rangeで指定したインデックスの範囲に含まれる部分文字列を
--- swapcase -> Symbol
#@end
-'A' から 'Z' までのアルファベット大文字を小文字に、'a' から 'z' までの
-アルファベット小文字を大文字に変更したシンボルを返します。
+'A' から 'Z' までのアルファベット大文字を小文字に、'a' から 'z' までのアルファベット小文字を大文字に変更したシンボルを返します。
(self.to_s.swapcase.intern と同じです。)
@@ -459,8 +428,7 @@ rangeで指定したインデックスの範囲に含まれる部分文字列を
--- encoding -> Encoding
-シンボルに対応する文字列のエンコーディング情報を表現した [[c:Encoding]] オブ
-ジェクトを返します。
+シンボルに対応する文字列のエンコーディング情報を表現した [[c:Encoding]] オブジェクトを返します。
例:
diff --git a/refm/api/src/_builtin/SystemCallError b/refm/api/src/_builtin/SystemCallError
index 31be27bf..9371c3c0 100644
--- a/refm/api/src/_builtin/SystemCallError
+++ b/refm/api/src/_builtin/SystemCallError
@@ -1,12 +1,8 @@
= class SystemCallError < StandardError
-Ruby の実装に用いられているシステムコールまたは一部の C 言語関数が失敗した時に発生する例外です。
-システムコールの失敗した原因を表すエラーコードを保持します。
+Ruby の実装に用いられているシステムコールまたは一部の C 言語関数が失敗した時に発生する例外です。システムコールの失敗した原因を表すエラーコードを保持します。
-多くの場合、実際には SystemCallError そのものではなく
-サブクラスである [[c:Errno::EXXX]] (XXX はエラーコードの値によって異なる。
-システム定義のエラー名と同じ名前) が発生します。
-詳しくは [[c:Errno::EXXX]] を参照してください。
+多くの場合、実際には SystemCallError そのものではなくサブクラスである [[c:Errno::EXXX]] (XXX はエラーコードの値によって異なる。システム定義のエラー名と同じ名前) が発生します。詳しくは [[c:Errno::EXXX]] を参照してください。
== Class Methods
@@ -25,12 +21,9 @@ SystemCallError オブジェクトを生成して返します。
--- new(errno) -> SystemCallError
整数 errno に対応する [[c:Errno::EXXX]] オブジェクトを生成して返します。
-整数 errno をシステムコールで発生したエラーの原因を示すコードであると解釈し、
-対応する例外クラスのインスタンスを生成して返します。
+整数 errno をシステムコールで発生したエラーの原因を示すコードであると解釈し、対応する例外クラスのインスタンスを生成して返します。
-生成されるオブジェクトは SystemCallError の直接のインスタンスではなく、サブクラスのインスタンスです。
-それらのサブクラスは [[c:Errno]] モジュール内に定義されています。
-対応するサブクラスが存在しないコードを与えた場合には、 SystemCallError の直接のインスタンスが生成されます。
+生成されるオブジェクトは SystemCallError の直接のインスタンスではなく、サブクラスのインスタンスです。それらのサブクラスは [[c:Errno]] モジュール内に定義されています。対応するサブクラスが存在しないコードを与えた場合には、 SystemCallError の直接のインスタンスが生成されます。
エラーコードの取り得る値および意味はシステムに依存します。詳しくは [[c:Errno::EXXX]] を参照してください。
@@ -49,14 +42,11 @@ SystemCallError オブジェクトを生成して返します。
--- ===(other) -> bool
-other が SystemCallError のサブクラスのインスタンスで、
-かつ、other.errno の値が self::Errno と同じ場合に真を返します。そうでない場合は偽を返します。
+other が SystemCallError のサブクラスのインスタンスで、かつ、other.errno の値が self::Errno と同じ場合に真を返します。そうでない場合は偽を返します。
-従って、特に other が self.kind_of?(other) である場合には [[m:Module#===]] と同様に真を返します。
-その他に、 Errno::EXXX::Errno == Errno::EYYY::Errno である場合にも Errno::EXXX == Errno::EYYY.new は真を返します。
+従って、特に other が self.kind_of?(other) である場合には [[m:Module#===]] と同様に真を返します。その他に、 Errno::EXXX::Errno == Errno::EYYY::Errno である場合にも Errno::EXXX == Errno::EYYY.new は真を返します。
-エラー名は異なるがエラーコードは同じであるような Errno::EXXX 例外をまとめて捕捉するために [[m:Module#===]] を上書きしていました。
-しかし、Ruby 1.8 のリリース時点では同じ errno 値を持つクラスは一つしか作られないようになりました。そのため現在はこのメソッドは実質上 [[m:Module#===]] と同じ意味しかありません。
+エラー名は異なるがエラーコードは同じであるような Errno::EXXX 例外をまとめて捕捉するために [[m:Module#===]] を上書きしていました。しかし、Ruby 1.8 のリリース時点では同じ errno 値を持つクラスは一つしか作られないようになりました。そのため現在はこのメソッドは実質上 [[m:Module#===]] と同じ意味しかありません。
@param other 任意のオブジェクト
@@ -131,17 +121,13 @@ other が SystemCallError のサブクラスのインスタンスで、
システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。
Rubyのライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。
-実際には「EXXX」というクラスが定義されているわけではありません。「XXX」の部分は下記に列挙したような各種のエラー名が入ります。
-例えば、[[m:File.open]] の内部でシステムコール [[man:open(2)]] がエラーコード ENOENT を返すと、Rubyは例外 Errno::ENOENT を発生させます。
+実際には「EXXX」というクラスが定義されているわけではありません。「XXX」の部分は下記に列挙したような各種のエラー名が入ります。例えば、[[m:File.open]] の内部でシステムコール [[man:open(2)]] がエラーコード ENOENT を返すと、Rubyは例外 Errno::ENOENT を発生させます。
Ruby は処理系がコンパイルされるときに、デフォルトで下記リストのような Errno::EXXX クラスを定義しようとします。
#@since 1.9.1
動作環境に EXXX というエラーコードが存在しない場合、Rubyはその Errno::EXXX を Errno::NOERROR の別名として定義します。
#@else
-Errno::EXXX クラスは、対応するエラー名が動作環境に存在する場合のみ定義されます。
-このため、一部の環境にしか存在しないエラーコードについて rescue 節などで Errno::EXXX を利用すると
-意図せずプログラムの可搬性を損なう場合があります。
-それを避けるには、エラーコードの種類を特定する必要がある場合を除いては [[c:SystemCallError]] で rescue するようにしてください。
+Errno::EXXX クラスは、対応するエラー名が動作環境に存在する場合のみ定義されます。このため、一部の環境にしか存在しないエラーコードについて rescue 節などで Errno::EXXX を利用すると意図せずプログラムの可搬性を損なう場合があります。それを避けるには、エラーコードの種類を特定する必要がある場合を除いては [[c:SystemCallError]] で rescue するようにしてください。
#@end
@@ -150,13 +136,11 @@ Errno::EXXX クラスは、対応するエラー名が動作環境に存在す
という名前の例外クラスが自動的に作成され、発生します。
(これは Ruby 内部でのみ行われ、 Ruby プログラム上で [[m:SystemCallError.new]] に一覧にないコードを渡してもクラスは作成されません)
-それぞれの例外が発生し得るケースについては、この項では記述しません。
-例外を発生する各メソッドのマニュアルおよびオペレーティングシステムのマニュアルを参照してください。
+それぞれの例外が発生し得るケースについては、この項では記述しません。例外を発生する各メソッドのマニュアルおよびオペレーティングシステムのマニュアルを参照してください。
=== エラー名リスト
-個々の例外の意味はシステム依存です。
-システムのマニュアル [[man:errno(3)]] を参照してください。
+個々の例外の意味はシステム依存です。システムのマニュアル [[man:errno(3)]] を参照してください。
Microsoft Windows システムにおいては [[url:http://msdn2.microsoft.com/ja-jp/library/5814770t.aspx]] を参照してください。
#@# defs/known_errors.def 参照。
diff --git a/refm/api/src/_builtin/SystemStackError b/refm/api/src/_builtin/SystemStackError
index 0fe4259a..37074cbf 100644
--- a/refm/api/src/_builtin/SystemStackError
+++ b/refm/api/src/_builtin/SystemStackError
@@ -9,11 +9,7 @@
典型的には、メソッド呼び出しを無限再帰させてしまった場合に発生します。
ほとんどの場合は実際にスタックがあふれる前に
-SystemStackError 例外が発生しますが、
-運が悪いと例外を発生させる間もなくスタックがあふれてしまうこともあります。
-その場合は [BUG] というエラーメッセージが出たり、
-"segmentation fault (core dumped)" などと表示されて
-プロセスが異常終了します。
+SystemStackError 例外が発生しますが、運が悪いと例外を発生させる間もなくスタックがあふれてしまうこともあります。その場合は [BUG] というエラーメッセージが出たり、
+"segmentation fault (core dumped)" などと表示されてプロセスが異常終了します。
-この問題の解決策は検討されていますが、
-近いうちには修正できない可能性があります。
+この問題の解決策は検討されていますが、近いうちには修正できない可能性があります。
diff --git a/refm/api/src/_builtin/Thread b/refm/api/src/_builtin/Thread
index 6bab5198..4c0af8ef 100644
--- a/refm/api/src/_builtin/Thread
+++ b/refm/api/src/_builtin/Thread
@@ -9,8 +9,7 @@ Thread を使うことで並行プログラミングが可能になります。
--- abort_on_exception -> bool
--- abort_on_exception=(newstate)
-真の時は、いずれかのスレッドが例外によって終了した時に、インタプリタ
-全体を中断させます。false の場合、あるスレッドで起こった例外は、[[m:Thread#join]]
+真の時は、いずれかのスレッドが例外によって終了した時に、インタプリタ全体を中断させます。false の場合、あるスレッドで起こった例外は、[[m:Thread#join]]
などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。
デフォルトは false です。
@@ -40,9 +39,7 @@ Thread を使うことで並行プログラミングが可能になります。
2: from -e:1:in `block in <main>'
1: from -e:1:in `times'
-これによってスレッドのエラーを早期に捕捉できるようになります。
-いくつかのケースでは、この出力を望まないかもしれません。
-出力を抑制するには複数の方法があります:
+これによってスレッドのエラーを早期に捕捉できるようになります。いくつかのケースでは、この出力を望まないかもしれません。出力を抑制するには複数の方法があります:
* 例外が意図したものではない場合、原因を修正して例外が発生しないようにする方法が最善です。
* 例外が意図したものの場合、例外が発生する場所により近い場所で rescue して、
@@ -62,16 +59,12 @@ Thread を使うことで並行プログラミングが可能になります。
真である間、スレッドの切替えを行いません。
-カレントスレッドが停止状態になった場合や、シグナルに割り込まれた場合には、
-自動的に false になります。
-ただし、[[m:Thread.new]] によりスレッドを生成した場合には、critical
-の値に関わらず そのスレッドは実行されます。
-また、[[m:Thread.pass]] により明示的に切替えることもできます。
+カレントスレッドが停止状態になった場合や、シグナルに割り込まれた場合には、自動的に false になります。ただし、[[m:Thread.new]] によりスレッドを生成した場合には、critical
+の値に関わらず そのスレッドは実行されます。また、[[m:Thread.pass]] により明示的に切替えることもできます。
デフォルトは false です。
-注意: I/O や GC、拡張ライブラリがからむとこのフラグは無視さ
-れることもあります。排他制御を行うにはこのメソッドに頼らず
+注意: I/O や GC、拡張ライブラリがからむとこのフラグは無視されることもあります。排他制御を行うにはこのメソッドに頼らず
[[c:Mutex]] や [[c:Monitor]] を使うべきです。
@param newstate スレッドの切替えを許すかどうかを、true か false で指定します。
@@ -103,11 +96,9 @@ Thread を使うことで並行プログラミングが可能になります。
--- list -> [Thread]
#@since 1.8.0
-全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッド
-も要素に含まれます。
+全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッドも要素に含まれます。
#@else
-生きているスレッドのうち、実行中(run)または停止中(stop)のスレッド
-の配列を返します。
+生きているスレッドのうち、実行中(run)または停止中(stop)のスレッドの配列を返します。
#@end
Thread.new do
@@ -126,8 +117,7 @@ Thread を使うことで並行プログラミングが可能になります。
--- start(*arg) {|*arg| ... } -> Thread
--- fork(*arg) {|*arg| ... } -> Thread
-スレッドを生成して、ブロックの評価を開始します。
-生成したスレッドを返します。
+スレッドを生成して、ブロックの評価を開始します。生成したスレッドを返します。
基本的に [[m:Thread.new]] と同じですが、
new メソッドと違い initialize メソッドを呼びません。
@@ -140,8 +130,7 @@ new メソッドと違い initialize メソッドを呼びません。
注意:
-例えば、以下のコードは間違いです。スレッドの実行が開始される前に
-変数 i が書き変わる可能性があるからです。
+例えば、以下のコードは間違いです。スレッドの実行が開始される前に変数 i が書き変わる可能性があるからです。
for i in 1..5
Thread.start { p i }
@@ -155,8 +144,7 @@ new メソッドと違い initialize メソッドを呼びません。
--- new(*arg) {|*arg| ... } -> Thread
-スレッドを生成して、ブロックの評価を開始します。
-生成したスレッドを返します。
+スレッドを生成して、ブロックの評価を開始します。生成したスレッドを返します。
@param arg 引数 arg はそのままブロックに渡されます。スレッドの開始と同時にその
スレッド固有のローカル変数に値を渡すために使用します。
@@ -165,8 +153,7 @@ new メソッドと違い initialize メソッドを呼びません。
注意:
-例えば、以下のコードは間違いです。スレッドの実行が開始される前に
-変数 i が書き変わる可能性があるからです。
+例えば、以下のコードは間違いです。スレッドの実行が開始される前に変数 i が書き変わる可能性があるからです。
for i in 1..5
Thread.new { p i }
@@ -180,8 +167,7 @@ new メソッドと違い initialize メソッドを呼びません。
--- pass -> nil
-他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、
-他の実行可能状態のスレッドに制御を移します。
+他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、他の実行可能状態のスレッドに制御を移します。
Thread.new do
(1..3).each{|i|
@@ -206,8 +192,7 @@ new メソッドと違い initialize メソッドを呼びません。
--- stop -> nil
-他のスレッドから [[m:Thread#run]] メソッドで再起動されるまで、カレ
-ントスレッドの実行を停止します。
+他のスレッドから [[m:Thread#run]] メソッドで再起動されるまで、カレントスレッドの実行を停止します。
#@samplecode 例
a = Thread.new { print "a"; Thread.stop; print "c" }
@@ -242,15 +227,13 @@ synchronize を呼び出しているだけで、Thread.exclusive していない
スレッドのデバッグレベルを返します。
-使用するためには、THREAD_DEBUG を -1 にして Ruby をコンパイルする必要が
-あります。
+使用するためには、THREAD_DEBUG を -1 にして Ruby をコンパイルする必要があります。
--- DEBUG=(val)
スレッドのデバッグレベルを val に設定します。
-使用するためには、THREAD_DEBUG を -1 にして Ruby をコンパイルする必要が
-あります。
+使用するためには、THREAD_DEBUG を -1 にして Ruby をコンパイルする必要があります。
#@end
@@ -260,13 +243,9 @@ synchronize を呼び出しているだけで、Thread.exclusive していない
非同期割り込みのキューが空かどうかを返します。
-[[m:Thread.handle_interrupt]] は非同期割り込みの発生を延期させるのに使
-用しますが、本メソッドは任意の非同期割り込みが存在するかどうかを確認す
-るのに使用します。
+[[m:Thread.handle_interrupt]] は非同期割り込みの発生を延期させるのに使用しますが、本メソッドは任意の非同期割り込みが存在するかどうかを確認するのに使用します。
-本メソッドが true を返した場合、[[m:Thread.handle_interrupt]] で例外の
-発生を延期するブロックを終了すると延期させられていた例外を発生させるこ
-とができます。
+本メソッドが true を返した場合、[[m:Thread.handle_interrupt]] で例外の発生を延期するブロックを終了すると延期させられていた例外を発生させることができます。
@param error 対象の例外クラスを指定します。省略した場合は全ての例外を対
象に確認を行います。
@@ -316,8 +295,7 @@ synchronize を呼び出しているだけで、Thread.exclusive していない
--- handle_interrupt(hash) { ... } -> object
-スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを
-実行します。
+スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを実行します。
「割り込み」とは、非同期イベントや [[m:Thread#raise]] や
[[m:Thread#kill]]、[[m:Signal.#trap]](未サポート)、メインスレッドの終了
@@ -339,12 +317,10 @@ synchronize を呼び出しているだけで、Thread.exclusive していない
まったく割り込みません。
-「ブロッキング処理」とは、読み込み処理や書き込み処理のような呼び出し元
-のスレッドをブロックするような処理を意味します。CRuby の実装では、GVL
+「ブロッキング処理」とは、読み込み処理や書き込み処理のような呼び出し元のスレッドをブロックするような処理を意味します。CRuby の実装では、GVL
を解放して実行する処理は全てブロッキング処理に含まれます。
-また、マスクされた非同期割り込みは再度有効にされるまで延期されます。本
-メソッドは [[man:sigprocmask(3)]] に似ています。
+また、マスクされた非同期割り込みは再度有効にされるまで延期されます。本メソッドは [[man:sigprocmask(3)]] に似ています。
@return ブロックの評価結果を返します。
@@ -352,9 +328,7 @@ synchronize を呼び出しているだけで、Thread.exclusive していない
=== 注意
-非同期割り込みの利用は難しいため、スレッド間での通信を実現する場合はま
-ずはキューのような他の方法を検討してください。それでも非同期割り込みを
-利用する場合は本メソッドをよく理解してから利用してください。
+非同期割り込みの利用は難しいため、スレッド間での通信を実現する場合はまずはキューのような他の方法を検討してください。それでも非同期割り込みを利用する場合は本メソッドをよく理解してから利用してください。
=== 使い方
@@ -394,9 +368,7 @@ synchronize を呼び出しているだけで、Thread.exclusive していない
}
}
-この例を ensure 節での [[c:TimeoutError]] 発生に応用する事でリソースリー
-クに備える事ができます。[[m:Timeout.#timeout]] はスレッドを使って実装さ
-れているため、Thread.handle_interrupt による制御が有効です。
+この例を ensure 節での [[c:TimeoutError]] 発生に応用する事でリソースリークに備える事ができます。[[m:Timeout.#timeout]] はスレッドを使って実装されているため、Thread.handle_interrupt による制御が有効です。
==== Stack control settings
@@ -411,8 +383,7 @@ to control more than one ExceptionClass and TimingSymbol at a time.
==== 例外クラスの継承関係
-本メソッドでは引数 hash のキーに指定した例外クラスの全てのサブクラスが
-処理の対象になります。
+本メソッドでは引数 hash のキーに指定した例外クラスの全てのサブクラスが処理の対象になります。
例:
@@ -428,8 +399,7 @@ to control more than one ExceptionClass and TimingSymbol at a time.
--- [](name) -> object | nil
name に対応したスレッドに固有のデータを取り出します。
-name に対応するスレッド固有データがなければ nil を返し
-ます。
+name に対応するスレッド固有データがなければ nil を返します。
@param name スレッド固有データのキーを文字列か [[c:Symbol]] で指定します。
@@ -467,9 +437,7 @@ val を name に対応するスレッド固有のデータとして格納しま
--- fetch(name, default = nil) {|name| ... } -> object
name に関連づけられたスレッドに固有のデータを返します。
-name に対応するスレッド固有データがない時には、引数 default が
-与えられていればその値を、ブロックが与えられていれば
-そのブロックを評価した値を返します。
+name に対応するスレッド固有データがない時には、引数 default が与えられていればその値を、ブロックが与えられていればそのブロックを評価した値を返します。
@param name スレッド固有データのキーを文字列か [[c:Symbol]] で指定します。
@param default name に対応するスレッド固有データがない時の返り値を指定します。
@@ -482,10 +450,7 @@ name に対応するスレッド固有データがない時には、引数 defau
--- abort_on_exception -> bool
--- abort_on_exception=(newstate)
-真の場合、そのスレッドが例外によって終了した時に、インタプリタ
-全体を中断させます。false の場合、あるスレッドで起こった例
-外は、[[m:Thread#join]] などで検出されない限りそのスレッ
-ドだけをなにも警告を出さずに終了させます。
+真の場合、そのスレッドが例外によって終了した時に、インタプリタ全体を中断させます。false の場合、あるスレッドで起こった例外は、[[m:Thread#join]] などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。
デフォルトは偽です。[[ref:c:Thread#exception]]を参照してください。
@@ -538,10 +503,7 @@ b.run # => #<Thread:0x00007fc3f48aefc0@(irb):4 dead>
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
-ただし、スレッドは終了処理中(aborting)にはなりますが、
-直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
-終了したスレッドの [[m:Thread#value]] の返り値は不定です。
-自身がメインスレッドであるか最後のスレッドである場合は、プロセスを [[m:Kernel.#exit]](0)
+ただし、スレッドは終了処理中(aborting)にはなりますが、直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより終了したスレッドの [[m:Thread#value]] の返り値は不定です。自身がメインスレッドであるか最後のスレッドである場合は、プロセスを [[m:Kernel.#exit]](0)
により終了します。
[[m:Kernel.#exit]] と違い例外 [[c:SystemExit]] を発生しません。
@@ -572,10 +534,7 @@ b.run # => #<Thread:0x00007fc3f48aefc0@(irb):4 dead>
ensure 節を実行せずにスレッドの実行を終了させます。
-ただし、スレッドは終了処理中(aborting)にはなりますが、
-直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
-終了したスレッドの [[m:Thread#value]] の返り値は不定です。
-自身がメインスレッドであるか最後のスレッドである場合は、プロセスを [[m:Kernel.#exit]](0)
+ただし、スレッドは終了処理中(aborting)にはなりますが、直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより終了したスレッドの [[m:Thread#value]] の返り値は不定です。自身がメインスレッドであるか最後のスレッドである場合は、プロセスを [[m:Kernel.#exit]](0)
により終了します。
th1 = Thread.new do
@@ -603,8 +562,7 @@ ensure 節を実行せずにスレッドの実行を終了させます。
--- group -> ThreadGroup | nil
-スレッドが属している [[c:ThreadGroup]] オブジェクトを返します。
-死んでいるスレッドは nil を返します。
+スレッドが属している [[c:ThreadGroup]] オブジェクトを返します。死んでいるスレッドは nil を返します。
p Thread.current.group == ThreadGroup::Default
# => true
@@ -614,9 +572,7 @@ ensure 節を実行せずにスレッドの実行を終了させます。
--- join(limit) -> self | nil
#@end
-スレッド self の実行が終了するまで、カレントスレッドを停止し
-ます。self が例外により終了していれば、その例外がカレントス
-レッドに対して発生します。
+スレッド self の実行が終了するまで、カレントスレッドを停止します。self が例外により終了していれば、その例外がカレントスレッドに対して発生します。
#@since 1.8.0
limit を指定して、limit 秒過ぎても自身が終了しない場合、nil を返します。
@@ -664,8 +620,7 @@ me.key?(:stanley) # => false
--- priority -> Integer
--- priority=(val)
-スレッドの優先度を返します。この値の大きいほど優先度が高くなります。
-メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの
+スレッドの優先度を返します。この値の大きいほど優先度が高くなります。メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの
priority を引き継ぎます。
#@since 1.9.1
@@ -720,8 +675,7 @@ count2 # => 11571921
--- run -> self
停止状態(stop)のスレッドを再開させます。
-[[m:Thread#wakeup]] と異なりすぐにスレッドの切り替え
-を行います。
+[[m:Thread#wakeup]] と異なりすぐにスレッドの切り替えを行います。
@raise ThreadError 死んでいるスレッドに対して実行すると発生します。
@@ -753,9 +707,7 @@ thr.safe_level # => 1
--- status -> String | false | nil
-生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず
-れかで返します。正常終了したスレッドに対して false、例外によ
-り終了したスレッドに対して nil を返します。
+生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいずれかで返します。正常終了したスレッドに対して false、例外により終了したスレッドに対して nil を返します。
#@#((-((<ruby 1.6 feature>)): version 1.6.5 までは、終了処理中
#@#(aborting)のスレッドに対しては "run" を返していました-))
@@ -778,9 +730,7 @@ b.stop? # => false
--- value -> object
-スレッド self が終了するまで待ち([[m:Thread#join]] と同じ)、
-そのスレッドのブロックが返した値を返します。スレッド実行中に例外が
-発生した場合には、その例外を再発生させます。
+スレッド self が終了するまで待ち([[m:Thread#join]] と同じ)、そのスレッドのブロックが返した値を返します。スレッド実行中に例外が発生した場合には、その例外を再発生させます。
スレッドが [[m:Thread#kill]] によって終了した場合は、返り値は不定です。
@@ -793,8 +743,7 @@ b.stop? # => false
threads.each {|t| p t.value}
-最後の行で、待ち合わせを行っていることがわかりにくいと思うなら以下
-のように書くこともできます。
+最後の行で、待ち合わせを行っていることがわかりにくいと思うなら以下のように書くこともできます。
threads.each {|t| p t.join.value}
@@ -860,8 +809,7 @@ nil を渡すとトレースを解除します。
--- backtrace_locations(start = 0, length = nil) -> [Thread::Backtrace::Location] | nil
--- backtrace_locations(range) -> [Thread::Backtrace::Location] | nil
-スレッドの現在のバックトレースを [[c:Thread::Backtrace::Location]] の配
-列で返します。
+スレッドの現在のバックトレースを [[c:Thread::Backtrace::Location]] の配列で返します。
引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。
@@ -872,8 +820,7 @@ nil を渡すとトレースを解除します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
-[[m:Kernel.#caller_locations]] と似ていますが、本メソッドは self に限定
-した情報を返します。
+[[m:Kernel.#caller_locations]] と似ていますが、本メソッドは self に限定した情報を返します。
@see [[c:Thread::Backtrace::Location]]
@@ -881,8 +828,7 @@ nil を渡すとトレースを解除します。
引数 key で指定した名前のスレッドローカル変数を返します。
-[注意]: [[m:Thread#[] ]] でセットしたローカル変数(Fiber ローカル変数)と
-異なり、Fiber を切り替えても同じ変数を返す事に注意してください。
+[注意]: [[m:Thread#[] ]] でセットしたローカル変数(Fiber ローカル変数)と異なり、Fiber を切り替えても同じ変数を返す事に注意してください。
例:
@@ -898,8 +844,7 @@ nil を渡すとトレースを解除します。
}.resume
}.join.value # => ['bar', nil]
-この例の "bar" は [[m:Thread#thread_variable_get]] により得られ
-た値で、nil は[[m:Thread#[] ]] により得られた値です。
+この例の "bar" は [[m:Thread#thread_variable_get]] により得られた値で、nil は[[m:Thread#[] ]] により得られた値です。
@see [[m:Thread#thread_variable_set]], [[m:Thread#[] ]]
@@ -907,19 +852,15 @@ nil を渡すとトレースを解除します。
--- thread_variable_set(key, value)
-引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま
-す。
+引数 key で指定した名前のスレッドローカル変数に引数 value をセットします。
-[注意]: [[m:Thread#[] ]] でセットしたローカル変数(Fiber ローカル変数)と
-異なり、セットした変数は Fiber を切り替えても共通で使える事に注意してく
-ださい。
+[注意]: [[m:Thread#[] ]] でセットしたローカル変数(Fiber ローカル変数)と異なり、セットした変数は Fiber を切り替えても共通で使える事に注意してください。
@see [[m:Thread#thread_variable_get]], [[m:Thread#[] ]]
--- thread_variable?(key) -> bool
-引数 key で指定した名前のスレッドローカル変数が存在する場合に true、そ
-うでない場合に false を返します。
+引数 key で指定した名前のスレッドローカル変数が存在する場合に true、そうでない場合に false を返します。
@param key 変数名を [[c:String]] か [[c:Symbol]] で指定します。
@@ -928,8 +869,7 @@ nil を渡すとトレースを解除します。
me.thread_variable?(:oliver) # => true
me.thread_variable?(:stanley) # => false
-[注意]: [[m:Thread#[] ]] でセットしたローカル変数(Fiber ローカル変数)が
-対象ではない事に注意してください。
+[注意]: [[m:Thread#[] ]] でセットしたローカル変数(Fiber ローカル変数)が対象ではない事に注意してください。
@see [[m:Thread#thread_variable_get]], [[m:Thread#[] ]]
diff --git a/refm/api/src/_builtin/ThreadGroup b/refm/api/src/_builtin/ThreadGroup
index ee37f076..2646f83b 100644
--- a/refm/api/src/_builtin/ThreadGroup
+++ b/refm/api/src/_builtin/ThreadGroup
@@ -1,11 +1,8 @@
= class ThreadGroup < Object
-スレッドグループを表すクラスです。グループに属する [[c:Thread]] をまとめて
-操作することができます。
+スレッドグループを表すクラスです。グループに属する [[c:Thread]] をまとめて操作することができます。
-[[c:Thread]] は必ずいずれかひとつのスレッドグループに属します。
-生成されたばかりの Thread は、生成した Thread のグループを引き継ぎます。
-メインスレッドはデフォルトでは [[m:ThreadGroup::Default]] に属します。
+[[c:Thread]] は必ずいずれかひとつのスレッドグループに属します。生成されたばかりの Thread は、生成した Thread のグループを引き継ぎます。メインスレッドはデフォルトでは [[m:ThreadGroup::Default]] に属します。
: 例:
@@ -55,8 +52,7 @@ Thread.new{ ... } はエラーになりません。生成されたスレッド
自身への [[m:ThreadGroup#add]] によるスレッドの追加・削除を禁止します。
enclose された ThreadGroup に追加や削除を行うと例外 [[c:ThreadError]] が発生します。
-ただし、[[m:Thread.new]] によるスレッドの追加は禁止されません。enclose されたスレッドグループ A に
-属するスレッドが新たにスレッドを生成した場合、生成されたスレッドはスレッドグループ A に属します。
+ただし、[[m:Thread.new]] によるスレッドの追加は禁止されません。enclose されたスレッドグループ A に属するスレッドが新たにスレッドを生成した場合、生成されたスレッドはスレッドグループ A に属します。
追加の例:
@@ -102,16 +98,13 @@ freeze された ThreadGroup には Thread の追加/削除ができませんが
self に属するスレッドの配列を返します。
#@since 1.8.0
-version 1.8 では、aborting 状態であるスレッド
-も要素に含まれます。つまり「生きている」スレッドの配列を返します。
+version 1.8 では、aborting 状態であるスレッドも要素に含まれます。つまり「生きている」スレッドの配列を返します。
#@else
-終了処理中(aborting)、や終了状態(dead)であるスレッドは要素に含まれ
-ません([[m:Thread.list]]と同じです)。
+終了処理中(aborting)、や終了状態(dead)であるスレッドは要素に含まれません([[m:Thread.list]]と同じです)。
#@end
== Constants
--- Default -> ThreadGroup
-デフォルトで定義されている [[c:ThreadGroup]] です。メインスレッド
-は最初このグループに属します。
+デフォルトで定義されている [[c:ThreadGroup]] です。メインスレッドは最初このグループに属します。
diff --git a/refm/api/src/_builtin/Thread__Backtrace__Location b/refm/api/src/_builtin/Thread__Backtrace__Location
index 0e6f0bae..3f8a2b96 100644
--- a/refm/api/src/_builtin/Thread__Backtrace__Location
+++ b/refm/api/src/_builtin/Thread__Backtrace__Location
@@ -64,8 +64,7 @@ self が表すフレームの行番号を返します。
--- label -> String
-self が表すフレームのラベルを返します。通常、メソッド名、クラス名、モ
-ジュール名などで構成されます。
+self が表すフレームのラベルを返します。通常、メソッド名、クラス名、モジュール名などで構成されます。
例: [[c:Thread::Backtrace::Location]] の例1を用いた例
@@ -77,8 +76,7 @@ self が表すフレームのラベルを返します。通常、メソッド名
--- base_label -> String
self が表すフレームの基本ラベルを返します。通常、
-[[m:Thread::Backtrace::Location#label]] から修飾を取り除いたもので構成
-されます。
+[[m:Thread::Backtrace::Location#label]] から修飾を取り除いたもので構成されます。
@see [[m:Thread::Backtrace::Location#label]]
@@ -101,10 +99,8 @@ self が表すフレームの絶対パスを返します。
--- to_s -> String
-self が表すフレームを [[m:Kernel.#caller]] と同じ表現にした文字列を返し
-ます。
+self が表すフレームを [[m:Kernel.#caller]] と同じ表現にした文字列を返します。
--- inspect -> String
-[[m:Thread::Backtrace::Location#to_s]] の結果を人間が読みやすいような文
-字列に変換したオブジェクトを返します。
+[[m:Thread::Backtrace::Location#to_s]] の結果を人間が読みやすいような文字列に変換したオブジェクトを返します。
diff --git a/refm/api/src/_builtin/Time b/refm/api/src/_builtin/Time
index 3f2d8286..146bbac8 100644
--- a/refm/api/src/_builtin/Time
+++ b/refm/api/src/_builtin/Time
@@ -8,27 +8,17 @@ include Comparable
[[m:File.mtime]] などが返すファイルのタイムスタンプは Time
オブジェクトです。
-Time オブジェクトは時刻を起算時からの経過秒数で保持しています。
-起算時は協定世界時(UTC、もしくはその旧称から GMT とも表記されます) の
-1970年1月1日午前0時です。なお、うるう秒を勘定するかどうかはシステムに
-よります。
-
-現在の Unix システムでの最大時刻は、
-協定世界時の2038年1月19日午前3時14分7秒
-です。
+Time オブジェクトは時刻を起算時からの経過秒数で保持しています。起算時は協定世界時(UTC、もしくはその旧称から GMT とも表記されます) の
+1970年1月1日午前0時です。なお、うるう秒を勘定するかどうかはシステムによります。
+
+現在の Unix システムでの最大時刻は、協定世界時の2038年1月19日午前3時14分7秒です。
#@# ENV["TZ"]=""; p Time.at(0x7fffffff) # => Tue Jan 19 03:14:07 UTC 2038
-Time オブジェクトが格納可能な時刻の範囲は環境によって異なります。
-範囲の下限としては、上記起算時からの経過秒数として 0 および正数しか
-受け付けない環境もあれば、負数も受け付ける環境もあります。
-また、範囲の上限としては、上記の Unix システムでの最大時刻を越えて
-64bit 値の範囲の経過秒数を受け付ける環境もあります。
-さらに、他に特定の時点を越える時刻の値を受け付けない環境もあります。
-Time オブジェクトを生成する各メソッドで、それぞれの環境での範囲外の
-時刻を格納しようとした場合は例外が発生します。
-
-また、Time オブジェクトは協定世界時と地方時のどちらのタイムゾー
-ンを使用するかのフラグを内部に保持しています。
+Time オブジェクトが格納可能な時刻の範囲は環境によって異なります。範囲の下限としては、上記起算時からの経過秒数として 0 および正数しか受け付けない環境もあれば、負数も受け付ける環境もあります。また、範囲の上限としては、上記の Unix システムでの最大時刻を越えて
+64bit 値の範囲の経過秒数を受け付ける環境もあります。さらに、他に特定の時点を越える時刻の値を受け付けない環境もあります。
+Time オブジェクトを生成する各メソッドで、それぞれの環境での範囲外の時刻を格納しようとした場合は例外が発生します。
+
+また、Time オブジェクトは協定世界時と地方時のどちらのタイムゾーンを使用するかのフラグを内部に保持しています。
#@since 1.9.1
タイムゾーンのフラグは Marshal データに保持されます。
@@ -37,8 +27,7 @@ Time オブジェクトを生成する各メソッドで、それぞれの環境
#@else
ただし、この情報は
[[m:Marshal.#dump]] では保存されず、[[m:Marshal.#load]]
-で読み込んだ Time オブジェクトのタイムゾーンは常に地方時になりま
-す。
+で読み込んだ Time オブジェクトのタイムゾーンは常に地方時になります。
p Marshal.load(Marshal.dump(Time.now.gmtime)).zone
# => "JST"
@@ -51,8 +40,7 @@ Time オブジェクトを生成する各メソッドで、それぞれの環境
=== C 言語との違いに注意
-C 言語の tm 構造体とは異なり、month は 1 月に対
-して 1 を返し、year は 1998 年に対して 1998 を返します。また、
+C 言語の tm 構造体とは異なり、month は 1 月に対して 1 を返し、year は 1998 年に対して 1998 を返します。また、
yday は 1 から数えます。
== Class Methods
@@ -75,8 +63,7 @@ time で指定した時刻の Time オブジェクトを返します。
--- at(time, usec) -> Time
-time + (usec/1000000) の時刻を表す Time オブジェクトを返します。
-浮動小数点の精度では不十分な場合に使用します。
+time + (usec/1000000) の時刻を表す Time オブジェクトを返します。浮動小数点の精度では不十分な場合に使用します。
生成された Time オブジェクトのタイムゾーンは地方時となります。
@@ -137,9 +124,7 @@ unit に応じて seconds + xseconds ミリ秒などの時刻を表す Time オ
引数で指定した協定世界時の Time オブジェクトを返します。
-引数の順序は [[m:Time#to_a]] と全く同じです。
-引数 wday, yday, zone に指定した値は無視されます。
-引数に nil を指定した場合の値はその引数がとり得る最小の値です。
+引数の順序は [[m:Time#to_a]] と全く同じです。引数 wday, yday, zone に指定した値は無視されます。引数に nil を指定した場合の値はその引数がとり得る最小の値です。
@param sec 秒を 0 から 60 までの整数か文字列で指定します。(60はうるう秒)
@@ -204,9 +189,7 @@ unit に応じて seconds + xseconds ミリ秒などの時刻を表す Time オ
引数で指定した地方時の Time オブジェクトを返します。
-引数の順序は [[m:Time#to_a]] と全く同じです。
-引数 wday, yday, zone に指定した値は無視されます。
-引数に nil を指定した場合の値はその引数がとり得る最小の値です。
+引数の順序は [[m:Time#to_a]] と全く同じです。引数 wday, yday, zone に指定した値は無視されます。引数に nil を指定した場合の値はその引数がとり得る最小の値です。
@param sec 秒を 0 から 60 までの整数か文字列で指定します。(60はうるう秒)
@@ -239,8 +222,7 @@ unit に応じて seconds + xseconds ミリ秒などの時刻を表す Time オ
--- new -> Time
--- now -> Time
-現在時刻の Time オブジェクトを生成して返します。
-タイムゾーンは地方時となります。
+現在時刻の Time オブジェクトを生成して返します。タイムゾーンは地方時となります。
例:
Time.now # => 2009-06-24 12:39:54 +0900
@@ -291,8 +273,7 @@ Struct::Tms は以下のメンバを持つ構造体クラスです。
時間の単位は秒で、浮動小数点数で与えられます。詳細は
[[man:times(3)]] を参照してください。
-このメソッドは [[m:Process.#times]] に移動しました。Time.times も使えます
-が、警告メッセージが出力されます。
+このメソッドは [[m:Process.#times]] に移動しました。Time.times も使えますが、警告メッセージが出力されます。
#@end
== Instance Methods
@@ -328,8 +309,7 @@ self より other 秒だけ後の時刻を返します。
--- <=>(other) -> -1 | 0 | 1 | nil
-self と other の時刻を比較します。self の方が大きい場合は 1 を、等しい場合は 0 を、
-小さい場合は -1 を返します。比較できない場合は、nil を返します。
+self と other の時刻を比較します。self の方が大きい場合は 1 を、等しい場合は 0 を、小さい場合は -1 を返します。比較できない場合は、nil を返します。
#@since 1.8.0
@param other 自身と比較したい時刻を Time オブジェクトで指定します。
@@ -366,8 +346,7 @@ true を返します。そうでない場合に false を返します。
--- asctime -> String
--- ctime -> String
-時刻を [[man:asctime(3)]] の形式の文字列に変換します。た
-だし、末尾の改行文字 "\n" は含まれません。
+時刻を [[man:asctime(3)]] の形式の文字列に変換します。ただし、末尾の改行文字 "\n" は含まれません。
#@since 1.9.1
#@since 2.0.0
@@ -396,8 +375,7 @@ self のタイムゾーンが協定世界時に設定されていれば真を返
--- getgm -> Time
--- getutc -> Time
-タイムゾーンを協定世界時に設定した Time オブジェクトを新しく
-生成して返します。
+タイムゾーンを協定世界時に設定した Time オブジェクトを新しく生成して返します。
t = Time.local(2000,1,1,20,15,1) #=> Sat Jan 01 20:15:01 CST 2000
t.gmt? #=> false
@@ -413,8 +391,7 @@ self のタイムゾーンが協定世界時に設定されていれば真を返
--- getlocal(utc_offset) -> Time
#@end
-タイムゾーンを地方時に設定した Time オブジェクトを新しく生成
-して返します。
+タイムゾーンを地方時に設定した Time オブジェクトを新しく生成して返します。
#@since 1.9.2
@param utc_offset タイムゾーンを地方時に設定する代わりに協定世界時との
@@ -442,11 +419,7 @@ self のタイムゾーンが協定世界時に設定されていれば真を返
このメソッドを呼び出した後は時刻変換を協定世界時として行ないます。
[[m:Time#localtime]], [[m:Time#gmtime]] の挙動はシステムの
-[[man:localtime(3)]] の挙動に依存します。Time クラ
-スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
-時刻までの経過秒は、システムがうるう秒を勘定するかどうかによって異
-なる場合があります。システムを越えて Time オブジェクトを受け
-渡す場合には注意する必要があります。
+[[man:localtime(3)]] の挙動に依存します。Time クラスでは時刻を起算時からの経過秒数として保持していますが、ある特定の時刻までの経過秒は、システムがうるう秒を勘定するかどうかによって異なる場合があります。システムを越えて Time オブジェクトを受け渡す場合には注意する必要があります。
t = Time.now #=> Wed Apr 09 08:56:03 CDT 2003
t.gmt? #=> false
@@ -469,11 +442,7 @@ self のタイムゾーンが協定世界時に設定されていれば真を返
#@end
[[m:Time#localtime]], [[m:Time#gmtime]] の挙動はシステムの
-[[man:localtime(3)]] の挙動に依存します。Time クラ
-スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
-時刻までの経過秒は、システムがうるう秒を勘定するかどうかによって異
-なる場合があります。システムを越えて Time オブジェクトを受け
-渡す場合には注意する必要があります。
+[[man:localtime(3)]] の挙動に依存します。Time クラスでは時刻を起算時からの経過秒数として保持していますが、ある特定の時刻までの経過秒は、システムがうるう秒を勘定するかどうかによって異なる場合があります。システムを越えて Time オブジェクトを受け渡す場合には注意する必要があります。
t = Time.utc(2000, "jan", 1, 20, 15, 1)
t.utc? #=> true
@@ -580,9 +549,7 @@ self のタイムゾーンが協定世界時に設定されていれば真を返
t.strftime("at %I:%M%#p") #=> "at 03:41pm"
#@else
現在の実装では、このメソッドは、システムの [[man:strftime(3)]]
-をそのまま使用しています。そのためここにあげた指示子以外のものが使
-用できる場合があります。ただし、上記以外の指示子を使用した場合、移
-植性をそこなう可能性がある点に注意してください。
+をそのまま使用しています。そのためここにあげた指示子以外のものが使用できる場合があります。ただし、上記以外の指示子を使用した場合、移植性をそこなう可能性がある点に注意してください。
t = Time.now
t.strftime("Printed on %m/%d/%Y") #=> "Printed on 04/09/2003"
@@ -750,14 +717,12 @@ self に 1 秒足した Time オブジェクトを生成して返します。
要素の順序は C 言語の tm 構造体に合わせています。ただし、
tm 構造体に zone はありません。
-注意: C 言語の tm 構造体とは異なり、month は 1 月に対
-して 1 を返し、year は 1998 年に対して 1998 を返します。また、
+注意: C 言語の tm 構造体とは異なり、month は 1 月に対して 1 を返し、year は 1998 年に対して 1998 を返します。また、
yday は 1 から数えます。
--- to_f -> Float
-起算時からの経過秒数を浮動小数点数で返します。1 秒に満たない経過も
-表現されます。
+起算時からの経過秒数を浮動小数点数で返します。1 秒に満たない経過も表現されます。
t = Time.now
"%10.5f" % t.to_f #=> "1049896564.13654"
@@ -766,8 +731,7 @@ yday は 1 から数えます。
#@since 1.9.2
--- to_r -> Rational
-起算時からの経過秒数を有理数で返します。1 秒に満たない経過も
-表現されます。
+起算時からの経過秒数を有理数で返します。1 秒に満たない経過も表現されます。
t = Time.now
p t.to_r # => (8807170717088293/8388608)
@@ -825,8 +789,7 @@ yday は 1 から数えます。
--- friday? -> bool
-自身の表す時刻が金曜日である場合に true を返します。
-そうでない場合に false を返します。
+自身の表す時刻が金曜日である場合に true を返します。そうでない場合に false を返します。
例:
t = Time.local(1987, 12, 18) #=> 1987-12-18 00:00:00 +0900
@@ -834,8 +797,7 @@ yday は 1 から数えます。
--- monday? -> bool
-自身の表す時刻が月曜日である場合に true を返します。
-そうでない場合に false を返します。
+自身の表す時刻が月曜日である場合に true を返します。そうでない場合に false を返します。
例:
t = Time.local(2003, 8, 4) #=> 2003-08-04 00:00:00 +0900
@@ -843,8 +805,7 @@ yday は 1 から数えます。
--- saturday? -> bool
-自身の表す時刻が土曜日である場合に true を返します。
-そうでない場合に false を返します。
+自身の表す時刻が土曜日である場合に true を返します。そうでない場合に false を返します。
例:
t = Time.local(2006, 6, 10) #=> 2006-06-10 00:00:00 +0900
@@ -852,8 +813,7 @@ yday は 1 から数えます。
--- sunday? -> bool
-自身の表す時刻が日曜日である場合に true を返します。
-そうでない場合に false を返します。
+自身の表す時刻が日曜日である場合に true を返します。そうでない場合に false を返します。
例:
t = Time.local(1990, 4, 1) #=> 1990-04-01 00:00:00 +0900
@@ -861,8 +821,7 @@ yday は 1 から数えます。
--- thursday? -> bool
-自身の表す時刻が木曜日である場合に true を返します。
-そうでない場合に false を返します。
+自身の表す時刻が木曜日である場合に true を返します。そうでない場合に false を返します。
例:
t = Time.local(1995, 12, 21) #=> 1995-12-21 00:00:00 +0900
@@ -870,8 +829,7 @@ yday は 1 から数えます。
--- tuesday? -> bool
-自身の表す時刻が火曜日である場合に true を返します。
-そうでない場合に false を返します。
+自身の表す時刻が火曜日である場合に true を返します。そうでない場合に false を返します。
例:
t = Time.local(1991, 2, 19) #=> 1991-02-19 00:00:00 +0900
@@ -879,8 +837,7 @@ yday は 1 から数えます。
--- wednesday? -> bool
-自身の表す時刻が水曜日である場合に true を返します。
-そうでない場合に false を返します。
+自身の表す時刻が水曜日である場合に true を返します。そうでない場合に false を返します。
例:
t = Time.local(1993, 2, 24) #=> 1993-02-24 00:00:00 +0900
@@ -895,15 +852,13 @@ yday は 1 から数えます。
"%10.9f" % t.to_f #=> "1195280283.536151409"
t.nsec #=> 536151406
-IEEE 754 浮動小数点数で表現できる精度が違うため、[[m:Time#to_f]]の最小
-の桁とnsecの最小の桁は異なります。nsecで表される値の方が正確です。
+IEEE 754 浮動小数点数で表現できる精度が違うため、[[m:Time#to_f]]の最小の桁とnsecの最小の桁は異なります。nsecで表される値の方が正確です。
#@end
#@since 1.9.2
--- round(ndigits=0) -> Time
-十進小数点数で指定した桁数の精度で丸めをし、
-その [[c:Time]] オブジェクト返します。
+十進小数点数で指定した桁数の精度で丸めをし、その [[c:Time]] オブジェクト返します。
(デフォルトは0、つまり小数点の所で丸めます)。
ndigits には 0 以上の整数を渡します。
@@ -933,8 +888,6 @@ ndigits には 0 以上の整数を渡します。
"%10.9f" % t.to_f #=> "1238074392.940563917"
t.subsec #=> (94056401/100000000)
-to_f の値と subsec の値の下のほうの桁の値は異なる場合があります。
-というのは IEEE 754 double はそれを表すのに十分な精度を
-持たないからです。subsec で得られる値が正確です。
+to_f の値と subsec の値の下のほうの桁の値は異なる場合があります。というのは IEEE 754 double はそれを表すのに十分な精度を持たないからです。subsec で得られる値が正確です。
#@end
diff --git a/refm/api/src/_builtin/TracePoint b/refm/api/src/_builtin/TracePoint
index c605786f..5a9475c0 100644
--- a/refm/api/src/_builtin/TracePoint
+++ b/refm/api/src/_builtin/TracePoint
@@ -1,7 +1,6 @@
= class TracePoint < Object
-[[m:Kernel.#set_trace_func]] と同様の機能をオブジェクト指向的な API で
-提供するクラスです。
+[[m:Kernel.#set_trace_func]] と同様の機能をオブジェクト指向的な API で提供するクラスです。
例:例外に関する情報を収集する
@@ -16,12 +15,9 @@
0 / 0
# => [5, :raise, #<ZeroDivisionError: divided by 0>]
-[[m:TracePoint.new]] または、[[m:TracePoint.trace]] で指定したブロック
-は、メソッドの引数(上記の例では :raise)に対応するイベントが発生した時に
-呼び出されます。
+[[m:TracePoint.new]] または、[[m:TracePoint.trace]] で指定したブロックは、メソッドの引数(上記の例では :raise)に対応するイベントが発生した時に呼び出されます。
-発生するイベントの詳細については、[[m:TracePoint.new]] を参照してくださ
-い。
+発
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment