argra****@users*****
argra****@users*****
2013年 4月 6日 (土) 04:31:28 JST
Index: docs/perl/5.16.1/perldata.pod diff -u docs/perl/5.16.1/perldata.pod:1.2 docs/perl/5.16.1/perldata.pod:1.3 --- docs/perl/5.16.1/perldata.pod:1.2 Tue Feb 12 20:43:05 2013 +++ docs/perl/5.16.1/perldata.pod Sat Apr 6 04:31:27 2013 @@ -32,8 +32,9 @@ Perl には、スカラ、スカラの配列、「ハッシュ」とも呼ばれるスカラの 連想配列という 3 つの組み込みデータ型があります。 -スカラは単一の(任意の長さの)文字列(利用可能メモリによってのみ制限されます)か、 -数値か、何かへのリファレンス(これは L<perlref> で議論します)のいずれかです。 +スカラは単一の(任意の長さの)文字列(利用可能メモリによってのみ +制限されます)か、数値か、何かへのリファレンス(これは L<perlref> で +議論します)のいずれかです。 通常の配列は 0 を基点とする数値で添え字づけされるスカラの順序付き リストです。 ハッシュ配列は、文字列のキーのインデックスと、それに結び付けられた @@ -217,8 +218,7 @@ 将来に渡る予約語との衝突も避けられます。 大文字と小文字は B<区別されます> から、"FOO"、"Foo"、"foo" は、 すべて違う名前です。 -英字と下線で始まる名前は、名前の一部に数字や下線を -含むことができます。 +英字と下線で始まる名前は、名前の一部に数字や下線を含むことができます。 X<identifier, case sensitivity> X<case> @@ -603,8 +603,7 @@ =end original -一部のプログラマは、曖昧さをなくすために明示的に変換することを -選ぶでしょう: +曖昧さをなくすために明示的に変換することを選ぶプログラマもいます: $element_count = scalar(@whatever); @@ -650,8 +649,7 @@ keys() 関数に代入をすることによって、ハッシュのためにあらかじめ スペースを割り当てることができます。 -その際に、割り当てる要素の数はその数値以上で最小の 2 のべき乗に -丸められます: +その際に、割り当てる要素の数はその数値以上で最小の 2 のべき乗に丸められます: =begin original @@ -659,7 +657,7 @@ =end original - keys(%users) = 1000; # 1024要素割り付ける + keys(%users) = 1000; # 1024 要素割り付ける =head2 Scalar value constructors X<scalar, literal> X<scalar, constant> @@ -698,13 +696,12 @@ =end original 数値リテラルを読みやすくするために、数字の間に下線を使えます -(but not multiple underscores in a row: -C<23__500> is not legal; C<23_500> is)。 +(しかし連続した複数の下線は使えません: C<23__500> は不正です; C<23_500> は +妥当です)。 例えば、(Unix 式のモード引数のために、0b110_100_100 のように) 2 進数を 3 桁ごとにグループ分けしたり、(ニブルを表現するために、0b1010_0110 のように) 4 桁ごとにグループ分けしたり、あるいはその他の方法でグループ分け出来ます。 X<number, literal> -(TBT) =begin original @@ -945,19 +942,17 @@ __FILE__, __LINE__, __PACKAGE__ という特殊なリテラルはそれぞれ、 カレントのファイル名、行番号、パッケージ名を表わします。 -__SUB__ gives a reference to the current -subroutine. +__SUB__ は現在のサブルーチンへのリファレンスを与えます。 これらは独立したトークンとしてのみ用いられます; 文字列中に展開されることはありません。 (空の C<package;> 指示子によって)カレントパッケージが存在しない場合、 __PACKAGE__ は未定義値となります。 (しかし空の C<package;> はバージョン 5.10 以降もはや対応していません。) -Outside of a subroutine, __SUB__ is the undefined value. __SUB__ -is only available in 5.16 or higher, and only with a C<use v5.16> or -C<use feature "current_sub"> declaration. +サブルーチンの外側では、__SUB__ は未定義値です。 +__SUB__ は 5.16 以降で、C<use v5.16> または C<use feature "current_sub"> +宣言がある場合にのみ利用可能です。 X<__FILE__> X<__LINE__> X<__PACKAGE__> X<__SUB__> X<line> X<file> X<package> -(TBT) =begin original @@ -992,13 +987,13 @@ 遭遇した時点でのカレントのパッケージ名です。 ファイルハンドルは __DATA__ の後の行を指して開かれたままです。 プログラムはここからデータを読み終わったら C<close DATA> するべきです。 -(Leaving it open leaks filehandles if the module is -reloaded for any reason, so it's a safer practice to close it.) +(これを開いたままにしておくと何らかの理由でモジュールが +再読み込みされたときにファイルハンドルがリークするので、閉じておくのが +より安全な慣例です。) __DATA__ が導入される前に書かれた古いスクリプトとの互換性のために、 __END__ は、スクリプト(但し C<require> や C<do> で読み込まれたファイルでは ないもの)のトップレベルでの __DATA__ のように振る舞い、 ファイルの残りの内容は C<main::DATA> でアクセス可能なままになります。 -(TBT) =begin original @@ -1033,9 +1028,8 @@ =end original -文法的に別の解釈ができない単語は、クォート文字列であるかのように -扱われます。 -これは“裸の単語”(barewords)と呼ばれます。 +文法的に別の解釈ができない単語は、クォート文字列であるかのように扱われます。 +これは「裸の単語」(bareword) と呼ばれます。 ファイルハンドルやラベルと同様に、小文字だけからなる裸の単語は将来、 予約語とぶつかる危険があります; そのような単語があった場合、 C<use warnings> プラグマや B<-w> スイッチをつけることでPerl がそのような @@ -1501,8 +1495,7 @@ =end original -あるいは、レコードとして使うハッシュリファレンスを初期化するために -使います: +あるいは、レコードとして使うハッシュリファレンスを初期化するために使います: $rec = { witch => 'Mable the Merciless', @@ -1516,8 +1509,7 @@ =end original -複雑な関数のために名前付きパラメータによる呼び出しを使うためにも -使えます: +複雑な関数のために名前付きパラメータによる呼び出しを使うためにも使えます: $field = $query->radio_group( name => 'group_name', @@ -1604,6 +1596,8 @@ =head2 Multi-dimensional array emulation +(多次元配列のエミュレーション) + =begin original Multidimensional arrays may be emulated by subscripting a hash with a @@ -1612,10 +1606,8 @@ =end original -Multidimensional arrays may be emulated by subscripting a hash with a -list. The elements of the list are joined with the subscript separator -(see L<perlvar/$;>). -(TBT) +多次元配列はハッシュをリストで添え字付けすることでエミュレートされます。 +リストの要素は添え字セパレータで結合されます (L<perlvar/$;> 参照)。 $foo{$a,$b,$c} @@ -1625,8 +1617,7 @@ =end original -is equivalent to -(TBT) +これは以下と等価です $foo{join($;, $a, $b, $c)} @@ -1636,8 +1627,7 @@ =end original -The default subscript separator is "\034", the same as SUBSEP in B<awk>. -(TBT) +デフォルトの添え字セパレータは "\034" で、B<awk> の SUBSEP と同じです。 =head2 Slices X<slice> X<array, slice> X<hash, slice> @@ -1838,6 +1828,7 @@ @this を $that のエイリアスにし、%this を %that のエイリアスに、 &this を &that のエイリアスにし…のようにします。 より安全にするにはリファレンスを使います。 +これは: local *Here::blue = \$There::green; @@ -1854,6 +1845,8 @@ この例では $Here::blue を一時的に $There::green のエイリアスにしますが、 @Here::blue を $There::blue のエイリアスにはしませんし、 同様に %Here::blue を %There::green のエイリアスにはしません。 +これに関するさらなる例については L<perlmod/"Symbol Tables"> を +参照してください。 これは奇妙に思えるかもしれませんが、これが モジュールのインポート/エクスポートシステムの基盤となっているのです。 @@ -1981,8 +1974,8 @@ =end original 代わりに初期化されたスカラ変数が使われると、結果は異なることに -注意してください。 -C<my $fh='zzz'; open($fh, ...)> は C<open( *{'zzz'}, ...)> と等価です。 +注意してください: C<my $fh='zzz'; open($fh, ...)> は +C<open( *{'zzz'}, ...)> と等価です。 このような動作を禁止するには C<use strict 'refs'> を使ってください。 =begin original @@ -2021,7 +2014,7 @@ Translate: KIMURA Koichi Update: SHIRAKATA Kentaro <argra****@ub32*****> (5.8.8-) -Status: in progress +Status: completed =end meta