argra****@users*****
argra****@users*****
2008年 12月 27日 (土) 04:58:23 JST
Index: docs/perl/5.10.0/perlapi.pod diff -u docs/perl/5.10.0/perlapi.pod:1.4 docs/perl/5.10.0/perlapi.pod:1.5 --- docs/perl/5.10.0/perlapi.pod:1.4 Thu Dec 25 04:56:26 2008 +++ docs/perl/5.10.0/perlapi.pod Sat Dec 27 04:58:23 2008 @@ -1894,9 +1894,9 @@ =end original -A private implementation of the C<SvIVx> macro for compilers which can't -cope with complex macro expressions. Always use the macro instead. -(TBT) +複雑なマクロ式を扱えないコンパイラのための、C<SvIVx> マクロの +プライベート実装です。 +代わりに、常にマクロを使ってください。 IV sv_iv(SV* sv) @@ -1971,9 +1971,9 @@ =end original -A private implementation of the C<SvNVx> macro for compilers which can't -cope with complex macro expressions. Always use the macro instead. -(TBT) +複雑なマクロ式を扱えないコンパイラのための、C<SvNVx> マクロの +プライベート実装です。 +代わりに、常にマクロを使ってください。 NV sv_nv(SV* sv) @@ -2023,10 +2023,9 @@ =end original -A private implementation of the C<SvPVbyte> macro for compilers -which can't cope with complex macro expressions. Always use the macro -instead. -(TBT) +複雑なマクロ式を扱えないコンパイラのための、C<SvPVbyte> マクロの +プライベート実装です。 +代わりに、常にマクロを使ってください。 char* sv_pvbyten(SV *sv, STRLEN *len) @@ -2043,9 +2042,9 @@ =end original -A private implementation of the C<SvPV> macro for compilers which can't -cope with complex macro expressions. Always use the macro instead. -(TBT) +複雑なマクロ式を扱えないコンパイラのための、C<SvPV> マクロの +プライベート実装です。 +代わりに、常にマクロを使ってください。 char* sv_pvn(SV *sv, STRLEN *len) @@ -2079,10 +2078,9 @@ =end original -A private implementation of the C<SvPVutf8> macro for compilers -which can't cope with complex macro expressions. Always use the macro -instead. -(TBT) +複雑なマクロ式を扱えないコンパイラのための、C<SvPVutf8> マクロの +プライベート実装です。 +代わりに、常にマクロを使ってください。 char* sv_pvutf8n(SV *sv, STRLEN *len) @@ -2177,9 +2175,9 @@ =end original -A private implementation of the C<SvUVx> macro for compilers which can't -cope with complex macro expressions. Always use the macro instead. -(TBT) +複雑なマクロ式を扱えないコンパイラのための、C<SvUVx> マクロの +プライベート実装です。 +代わりに、常にマクロを使ってください。 UV sv_uv(SV* sv) @@ -3869,9 +3867,8 @@ =end original -Like C<Copy> but returns dest. Useful for encouraging compilers to tail-call -optimise. -(TBT) +C<Copy> と同様ですが、dest を返します。 +末尾呼び出し最適化を行うコンパイラで便利です。 void * CopyD(void* src, void* dest, int nitems, type) @@ -3910,9 +3907,8 @@ =end original -Like C<Move> but returns dest. Useful for encouraging compilers to tail-call -optimise. -(TBT) +C<Move> と同様ですが、dest を返します。 +末尾呼び出し最適化を行うコンパイラで便利です。 void * MoveD(void* src, void* dest, int nitems, type) @@ -4279,9 +4275,8 @@ =end original -Like C<Zero> but returns dest. Useful for encouraging compilers to tail-call -optimise. -(TBT) +C<Zero> と同様ですが、dest を返します。 +末尾呼び出し最適化を行うコンパイラで便利です。 void * ZeroD(void* dest, int nitems, type) @@ -4820,9 +4815,7 @@ =end original -NOTE: you can pass either the object directly or the SV -contained within the RV. -(TBT) +注意: オブジェクトを直接と、RV に含まれている SV のどちらでも渡せます。 SV* vnormal(SV *vs) @@ -4852,9 +4845,7 @@ =end original -NOTE: you can pass either the object directly or the SV -contained within the RV. -(TBT) +注意: オブジェクトを直接と、RV に含まれている SV のどちらでも渡せます。 SV* vnumify(SV *vs) @@ -6430,9 +6421,8 @@ スタックは、プッシュする要素を収めるのに十分な大きさを 持っていなければなりません。 'set' magic をハンドルしません。 -Does not use C<TARG>. See also C<PUSHmortal>, -C<XPUSHs> and C<XPUSHmortal>. -(TBT) +C<TARG> を使いません。 +C<PUSHmortal>, C<XPUSHs>, C<XPUSHmortal> も参照してください。 void PUSHs(SV* sv) @@ -10458,8 +10448,9 @@ =end original Get a sensible string out of the SV somehow. -A private implementation of the C<SvPV_force> macro for compilers which -can't cope with complex macro expressions. Always use the macro instead. +複雑なマクロ式を扱えないコンパイラのための、C<SvPV_force> マクロの +プライベート実装です。 +代わりに、常にマクロを使ってください。 (TBT) char* sv_pvn_force(SV* sv, STRLEN* lp) Index: docs/perl/5.10.0/perlretut.pod diff -u docs/perl/5.10.0/perlretut.pod:1.5 docs/perl/5.10.0/perlretut.pod:1.6 --- docs/perl/5.10.0/perlretut.pod:1.5 Thu Dec 25 04:56:26 2008 +++ docs/perl/5.10.0/perlretut.pod Sat Dec 27 04:58:23 2008 @@ -1820,11 +1820,9 @@ =end original -If this regexp matches, C<$1> contains a string starting with -C<'ab'>, C<$2> is either set to C<'cd'> or C<'ef'>, C<$3> equals either -C<'gi'> or C<'j'>, and C<$4> is either set to C<'gi'>, just like C<$3>, -or it remains undefined. -(TBT) +この正規表現がマッチすると、C<$1> は C<'ab'> で始まる文字列が入り、 +C<$2> は C<'cd'> か C<'ef'> が入り、C<$3> は C<'gi'> か C<'j'> が入り、 +C<$4> は C<$3> と同様に C<'gi'> が入るか、未定義のままです。 =begin original @@ -1842,9 +1840,10 @@ つまり、マッチにおいて使われた閉じカッコの中で最も右にあるものに 結び付けられたものです)。 - =head2 Backreferences +(後方参照) + =begin original Closely associated with the matching variables C<$1>, C<$2>, ... are @@ -1857,7 +1856,8 @@ =end original -マッチング変数 C<$1>, C<$2> …に密接に結び付けられたものは 後方参照(backreferences) C<\1>, C<\2> …です。 +マッチング変数 C<$1>, C<$2> …に密接に結び付けられたものは、 +後方参照(backreferences) C<\1>, C<\2> …です。 後方参照は正規表現の I<内側> で使うことのできるマッチング変数です。 これは実に良い機能です - 正規表現の中で後でマッチするものがそれ以前に マッチしていたものに依存させることができます。 @@ -1944,10 +1944,8 @@ =end original 相対バックリファレンスを使うために可読性と保守性を追加するもう一つの -よい理由は、 -is illustrated by the following example, -where a simple pattern for matching peculiar strings is used: -(TBT) +よい理由は、以下の例で示すように、特定の文字列をマッチするために単純な +パターンを使うところです: $a99a = '([a-z])(\d)\2\1'; # matches a11a, g22g, x33x, etc. @@ -2050,9 +2048,8 @@ =end original -If any of the alternatives matches, the hash C<%+> is bound to contain the -three key-value pairs. -(TBT) +もし他のマッチがある場合は、ハッシュ C<%+> は 3 つのキー-値の組が +含まれることになります。 =head2 Alternative capture group numbering @@ -4299,9 +4296,8 @@ =end original -A C<\L> or C<\U> indicates a lasting conversion of case, until -terminated by C<\E> or thrown over by another C<\U> or C<\L>: -(TBT) +C<\L> や C<\U> は、C<\E> で終端されるか、別の C<\U> や C<\L> で +上書きされるまで、大文字小文字を変換することを示します: =begin original @@ -4392,7 +4388,7 @@ このことが正規表現に及ぼす影響は? そう、正規表現ユーザーは perl での文字列の内部表現を知る必要はありません。 しかし、知っておくべきことがあります。 -1) 正規表現においてUnicode文字をどのように表現するか +1) 正規表現において Unicode 文字をどのように表現するか 2) マッチング操作がバイト列ではなく、Unicode 文字列として扱うということです。 1)に対する答えは C<chr(255)> を越える Unicode 文字は C<\x{hex}> 表記を 使って表現されるだろうということです(ここで hex は十六進整数); @@ -4433,7 +4429,7 @@ =end original -あなたが必要なUnicode文字を十六進数で表記することや、別の誰かが +あなたが必要なUnicode文字を 16 進数で表記することや、別の誰かが 16 進表記の Unicode 正規表現を解読することは、機械語で プログラミングすることを楽しむかのようです。 ですから、Unicode文字を指定する別の方法として C<\N{name}> のような @@ -4451,7 +4447,7 @@ =end original - use charnames ":full"; # Unicodeのフルネームで名前つき文字を使う + use charnames ":full"; # Unicode のフルネームで名前つき文字を使う $x = "abc\N{MERCURY}def"; $x =~ /\N{MERCURY}/; # マッチ @@ -4481,10 +4477,8 @@ =end original フルネームのリストは、lib/perl5/X.X.X/unicore ディレクトリの -NamesList.txtにあります。 -(where X.X.X is the perl -version number as it is installed on your system). -(TBT) +NamesList.txtにあります (ここで X.X.X は、システムに +インストールされている perl のバージョン番号です)。 =begin original @@ -4497,11 +4491,10 @@ =end original 2) の答えは、5.6.0 でのように、正規表現は Unicode 文字を使うというものです。 -Internally, this is encoded to bytes using either UTF-8 or a -native 8 bit encoding, depending on the history of the string, but -conceptually it is a sequence of characters, not bytes. See -L<perlunitut> for a tutorial about that. -(TBT) +内部では、これは UTF-8 かネイティブな 8 ビットエンコーディングを使った +バイトでエンコードされてます; どちらかは文字列の履歴に依存します; +しかし理論的には、これはバイトの列ではなく文字の列です。 +これに関するチュートリアルについては L<perlunitut> を参照してください。 =begin original @@ -4597,15 +4590,14 @@ =end original Unicode はまた、C<\p{In...}>(含まれる) と C<\P{In...}> (含まれない) で -検査することのできる文字のセットに分けられます。 -To test whether a character is (or is not) an element of a script -you would use the script name, -たとえば、C<\p{Latin}>, C<\p{Greek}>, C<\P{Katakana}> などがあります。 -Other sets are the Unicode blocks, the names -of which begin with "In". One such block is dedicated to mathematical -operators, and its pattern formula is <C\p{InMathematicalOperators>}>. +調べることのできる文字の集合に分けられます。 +ある文字が用字の要素として含まれているか(あるいは含まれていないか)を +調べるには、例えば C<\p{Latin}>, C<\p{Greek}>, C<\P{Katakana}> のように、 +用字名が使えます。 +その他の集合は Unicode ブロックで、"In" で始まる名前です。 +一旦ブロックが数値演算子に提供されると、そのパターン形式は +<C\p{InMathematicalOperators>}> となります。 完全なリストは L<perlunicode> を参照してください。 -(TBT) =begin original @@ -5530,9 +5522,8 @@ 最初の形式は単純な整数をカッコでくくったもの C<(integer)> です。 これは対応する後方参照 C<\integer> が先行する正規表現の部分の中で マッチしていれば真となります。 -The same -thing can be done with a name associated with a capture buffer, written -as C<< (<name>) >> or C<< ('name') >>. +同じことは、捕捉バッファに結び付けられた名前を使って、 +C<< (<name>) >> or C<< ('name') >> のように書くことでもできます。 二番目の形式はゼロ幅の表明 C<(?...)> で、先読み、戻り読み、もしくは コード表明 (code assertion 次のセクションで説明します)のいずれかです。 The third set of forms @@ -5613,8 +5604,8 @@ Starting with Perl 5.10, it is possible to define named subpatterns in a section of the pattern so that they can be called up by name anywhere in the pattern. This syntactic pattern for this definition -group is C<< (?(DEFINE)(?<name>pattern)...) >>. An insertion -of a named pattern is written as C<(?&name)>. +group is C<< (?(DEFINE)(?<name>pattern)...) >>. +名前付きパターンの挿入は C<(?&name)> のように書きます。 (TBT) =begin original @@ -6259,9 +6250,9 @@ =end original -Remember that C<$^N> is set to whatever was matched by the last -completed capture group. This prints -(TBT) +C<$^N> は最後に完了した捕捉グループでマッチしたものがセットされることを +忘れないでください。 +これは以下を表示します It is a Fibonacci sequence Largest sequence matched was 5 @@ -6272,8 +6263,8 @@ =end original -Ha! Try that with your garden variety regexp package... -(TBT) +ほら! +これを、ありふれた正規表現パッケージで試してみてください… =begin original @@ -6308,14 +6299,14 @@ =end original -のようになり、 -which shows that spaces are still possible in the code parts. Nevertheless, -コード式と条件式を使ったとき、正規表現の拡張された形式は正規表現を生成して -デバッグする必要があるでしょう。 -(TBT) +のようになり、それでもコード部分には空白を入れることが可能です。 +それでもなお、コード式と条件式を使ったときには、正規表現の拡張された形式は +正規表現を生成してデバッグする必要があるでしょう。 =head2 Backtracking control verbs +(バックトラック制御動詞) + =begin original Perl 5.10 introduced a number of control verbs intended to provide