argra****@users*****
argra****@users*****
2008年 12月 3日 (水) 01:51:58 JST
Index: docs/perl/5.8.8/perldata.pod diff -u docs/perl/5.8.8/perldata.pod:1.7 docs/perl/5.8.8/perldata.pod:1.8 --- docs/perl/5.8.8/perldata.pod:1.7 Sun Nov 30 03:13:37 2008 +++ docs/perl/5.8.8/perldata.pod Wed Dec 3 01:51:58 2008 @@ -1,3 +1,6 @@ + +=encoding euc-jp + =head1 NAME =begin original @@ -34,7 +37,7 @@ 通常の配列は 0 を基点とする数値で添え字づけされるスカラの順序付き リストです。 ハッシュ配列は、文字列のキーのインデックスと、それに結び付けられた -スカラ値の順序のない集合です。 +スカラ値の、順序のない集合です。 =begin original @@ -56,8 +59,8 @@ =end original 値は通常、名前もしくは名前付きのリファレンスを通して参照されます。 -名前の最初にあるキャラクターは、その名前がどのような -構造のデータを参照しているのかを区別します。 +名前の最初にある文字は、その名前がどのような構造のデータを +参照しているのかを区別します。 名前の残りの部分は、参照する値を特定するものです。 通常、この名前は一つの I<識別子>、つまり、英字か下線から始まって それに英字、下線、数字が続く文字列のことです。 @@ -68,7 +71,7 @@ (詳細は L<perlmod/Packages> を参照してください)。 リファレンスを生成する式の単純な識別子を、実行に値に置き換えることも 可能です。 -これはこのドキュメントの後の部分と、L<perlref> に詳細な説明があります。 +これはこの文書の後の部分と、L<perlref> に詳細な説明があります。 X<identifier> =begin original @@ -88,7 +91,7 @@ Perl はこれらの規則に従っていない名前を持っている組み込みの変数も 持っています。 これらは変わった名前をもっているので、あなたが使った普通の -変数との間で間違って衝突することがない特殊変数があります。 +変数との間で間違って衝突することがありません。 正規表現の括弧づけされた部分(parenthesized parts)の文字列は C<$> の後に 数字だけが続いている名前で保存されます( L<perlop> と L<perlre> を 参照してください)。 @@ -107,7 +110,7 @@ =end original -スカラ値の参照は配列やハッシュの一要素であるスカラを参照する場合でも、 +スカラ値の参照は、配列やハッシュの一要素であるスカラを参照する場合でも、 常に名前に '$' を付けます。 シンボル '$' は文法的に英単語 "the" のように働き、単一の値が 想定されていることを示しています。 @@ -183,7 +186,7 @@ ラベルに、同じ名前を付けることができることを意味します。 つまり、C<$foo> と C<@foo> は 2 つの異なる変数であるということです。 また、C<$foo[1]> は C<@foo> の一部であって、C<$foo> の一部ではありません。 -少々奇妙に思えるかもしれませんが、それで良いのです。 +少々奇妙に思えるかもしれませんが、それで良いのです; 奇妙なのですから。 X<namespace> @@ -398,7 +401,7 @@ =end original -Perlにおける全てのデータは、スカラであるか、スカラの配列、スカラの +Perlにおける全てのデータは、スカラか、スカラの配列か、スカラの ハッシュとなります。 スカラは、数値、文字列、リファレンスのいずれか一つの値を保持します。 一般的には、ある種類から他の種類への変換は透過的です。 @@ -567,8 +570,7 @@ ほんの少しだけ効率を向上させることもできます。 最後の要素よりも後ろに離れた位置に代入を行なうことでも、 配列を大きくすることができます。 -配列に空リスト () を代入すると、何も無い状態にまで切り詰めることが -できます。 +配列に空リスト () を代入すると、何も無い状態にまで切り詰められます。 以下の二つは等価です: @whatever = (); @@ -708,7 +710,7 @@ =end original -数値リテラルを読みやすくするために、数字の間に下線を使うことが出来ます。 +数値リテラルを読みやすくするために、数字の間に下線を使えます。 例えば、(Unix 式のモード引数のために、0b110_100_100 のように) 2 進数を 3 桁ごとにグループ分けしたり、(ニブルを表現するために、0b1010_0110 のように) 4 桁ごとにグループ分けしたり、あるいはその他の方法でグループ分け出来ます。 @@ -802,7 +804,7 @@ =end original いくつかのシェルと同じように、変数名の前後に中かっこを入れて、 -つながっている英数字(および下線)から切り離すことができます。 +つながっている英数字(および下線)から切り離せます。 変数を文字列に展開する時に、後に続くコロン 2 つやシングルクォートと 変数名を分割する場合にもそうしなければなりません; さもなければパッケージのセパレータとして扱われるからです: @@ -1088,8 +1090,8 @@ =end original -検索パターン (ここでも、ダブルクォートのような置換が行なわれます) -の中では、解釈する上で不幸な曖昧さがあります。 +検索パターン (ここでも、ダブルクォートのような置換が行なわれます) の中では、 +解釈する上で不幸な曖昧さがあります。 C</$foo[bar]/> は、C</${foo}[bar]/> と解釈される (この場合 C<[bar]>は、正規表現の文字クラス) のでしょうか? C</${foo[bar]}/> と解釈される (この場合 C<[bar]> は、 @@ -1217,7 +1219,8 @@ これは、外側のリストが評価されると、リストの個々の要素がリストコンテキストで 評価され、その結果のリスト値の個々の値が、元のリストの要素であるかのように 展開されるのです。 -つまり、リストの中では配列もハッシュも、その性質が現れてきません。 +つまり、リストの中では配列もハッシュも、その性質が現れてきません -- +以下のリストは (@foo, @ bar,&SomeSub,%glarch) @@ -1230,7 +1233,7 @@ =end original -というリストは、@foo のすべての要素の後に @bar のすべての要素を続け、 + @ foo のすべての要素の後に @bar のすべての要素を続け、 その後に SomeSub というサブルーチンが返すすべての要素を続け、 最後に %glarch のキー/値のペアを続けたものを要素として持ちます。 展開 B<されない> リストのリファレンスを作るためには、L<perlref> を @@ -1264,16 +1267,15 @@ =end original -この展開は、combines with the facts that the opening -and closing parentheses are optional (except when necessary for -precedence) and lists may end with an optional comma to mean that -multiple commas within lists are legal syntax. +この展開は、開きかっこと閉じかっこは(優先順位のための必要性がなければ) +省略可能であるということと、リスト中に複数のカンマがあっても文法的に +有効なので、リストの最後に追加のカンマをつけられるということを +組み合わせたものです。 リスト C<1,,3> は 2 つのリスト C<1,> と C<3> の結合であり、 1 つ目のリストはオプションのカンマで終わっています。 C<1,,3> は C<(1,),(3)> で C<1,3> です (そして同様に C<1,,,3> は C<(1,),(,),3> で C<1,3> です。以下同様。) この暗黒面を使うよう勧めているわけではありません。 -(TBT) =begin original @@ -1359,12 +1361,10 @@ =end original -It's also the source of a useful idiom for executing a function or -performing an operation in list context and then counting the number of -return values, by assigning to an empty list and then using that -assignment in scalar context. +これはまた、関数の実行や操作の処理をリストコンテキストで行い、 +それからそれを空リストにからすからコンテキストでの代入を行うことで +返り値の数を数えるための便利な慣用法のもととなります。 例えば、以下のコードは: -(TBT) $count = () = $string =~ /\d+/g; @@ -1448,7 +1448,7 @@ =end original -しばしば、リテラルリストと名前付きの配列は互いに交換可能ですが、 +しばしば、リストリテラルと名前付きの配列は互いに交換可能ですが、 ハッシュの場合はそうではありません。 通常の配列がハッシュとしてリスト値で添え字づけできないのと同様に、 リスト値を使って添え字づけすることはできません。 @@ -1536,7 +1536,7 @@ =end original -配列は、ドル記号 (C<$>)、(先頭のC<@> なしの)配列名、大かっこで囲われた +配列は、ドル記号 (C<$>)、(先頭の C<@> なしの)配列名、大かっこで囲われた 添え字、の順で指定することで添え字付けされます。 例: @@ -1889,16 +1889,15 @@ =end original -All functions that are capable of creating filehandles (open(), -opendir(), pipe(), socketpair(), sysopen(), socket(), and accept()) -automatically create an anonymous filehandle if the handle passed to -them is an uninitialized scalar variable. This allows the constructs -such as C<open(my $fh, ...)> and C<open(local $fh,...)> to be used to -create filehandles that will conveniently be closed automatically when -the scope ends, provided there are no other references to them. This -largely eliminates the need for typeglobs when opening filehandles -that must be passed around, as in the following example: -(TBT) +ファイルハンドルを作成できる全ての関数 (open(), +opendir(), pipe(), socketpair(), sysopen(), socket(), and accept()) は、 +もし渡されたハンドルが初期化されていないスカラ変数の場合、 +無名ファイルハンドルを作成します。 +これにより、C<open(my $fh, ...)> や C<open(local $fh,...)> のような +構文によって、他からのリファレンスがなければスコープの終わりに自動的に +閉じられる便利なファイルハンドルを作ることができます。 +これは、以下の例のように、他に渡す必要があるファイルハンドルを開く時に +型グロブを使う必要性を大きく減らします: sub myopen { open my $fh, "@_" @@ -1961,7 +1960,7 @@ =begin meta Created: KIMURA Koichi -Updated: Kentaro Shirakata <argra****@ub32*****> +Updated: Kentaro Shirakata <argra****@ub32*****> (5.8.8-) =end meta