argra****@users*****
argra****@users*****
2014年 12月 17日 (水) 03:35:49 JST
Index: docs/perl/5.20.1/perltrap.pod diff -u docs/perl/5.20.1/perltrap.pod:1.1 docs/perl/5.20.1/perltrap.pod:1.2 --- docs/perl/5.20.1/perltrap.pod:1.1 Mon Oct 20 12:30:18 2014 +++ docs/perl/5.20.1/perltrap.pod Wed Dec 17 03:35:48 2014 @@ -89,7 +89,7 @@ =end original -Perlでは、すべての単純文(simple statement)の末尾にセミコロンが必要です +Perl では、すべての単純文(simple statement)の末尾にセミコロンが必要です (ブロックの最後に置かれたときを除きます)。 改行は文の区切りとはなりません。 @@ -111,7 +111,7 @@ =end original -Perlでは、変数は“$”"か“@”か“%”で始まります。 +Perl では、変数は "$" か "@" か "%" で始まります。 =item * @@ -143,8 +143,7 @@ =end original -ハッシュ(連想配列)の値は、単に参照するだけでは存在することに -なりません。 +ハッシュ(連想配列)の値は、単に参照するだけでは存在することになりません。 =item * @@ -211,8 +210,8 @@ print() 文は、C<$,> や C<$\> に値を設定しない限りフィールド区切り子や レコード区切り子を付加しません。 -English モジュールを使っていれば、$OFS や $ORS に対して設定することでも -OK です。 +English モジュールを使っていれば、$OFS や $ORS に対して +設定することもできます。 =item * @@ -234,7 +233,7 @@ =end original -範囲演算子は“..”であって、カンマではありません。 +範囲演算子は ".." であって、カンマではありません。 カンマ演算子は C と同じような振る舞いをします。 =item * @@ -246,8 +245,8 @@ =end original -マッチ演算子は“=~”であって、“~”ではありません。 -(“~”はCと同様に、1の補数を取る演算子です。) +マッチ演算子は "=~" であって、"~" ではありません。 +("~" はCと同様に、1 の補数を取る演算子です。) =item * @@ -259,8 +258,8 @@ =end original -べき乗の演算子は“**”であって、“^”ではありません。 -“^”は C と同様、XOR 演算子です。 +べき乗の演算子は "**" であって、"^" ではありません。 +"^" は C と同様、XOR 演算子です。 (B<awk> が基本的に C と非互換であることにお気付きかもしれませんね。) =item * @@ -275,7 +274,7 @@ =end original -連接演算子は“.”であって、空文字列ではありません。 +連接演算子は "." であって、空文字列ではありません。 (空文字列を使ってしまうと C</pat/ /pat/> が、その 3 番目のスラッシュが 除算演算子と解釈されてしまうので正しく解析できなくなります-- Perl の字句解析器は "/", "?", ">" といった演算子に対して @@ -411,7 +410,7 @@ =end original -Perlでは、変数は“$”"か“@”か“%”で始まります。 +Perlでは、変数は "$" か "@" か "%" で始まります。 =item * @@ -423,7 +422,7 @@ =end original -コメントの始まりは、“#”であり、“/*”や "//" ではありません。 +コメントの始まりは、"#" であり、"/*" や "//" ではありません。 Perl は C/C++ のコメントを除算演算子、終端していない正規表現、 定義性和演算子として解釈するかもしれません。 @@ -481,14 +480,15 @@ =head2 JavaScript Traps +(JavaScript の罠) + =begin original Judicious JavaScript programmers should take note of the following: =end original -Judicious JavaScript programmers should take note of the following: -(TBT) +思慮深い JavaScript プログラマは以下のことに注意すべきです: =over 4 @@ -502,10 +502,9 @@ =end original -In Perl, binary C<+> is always addition. C<$string1 + $string2> converts -both strings to numbers and then adds them. To concatenate two strings, -use the C<.> operator. -(TBT) +Perl では、二項の C<+> は常に加算です。 +C<$string1 + $string2> は両方の文字列を数値に変換してから加算します。 +二つの文字列を結合するには、C<.> 演算子を使ってください。 =item * @@ -516,9 +515,8 @@ =end original -The C<+> unary operator doesn't do anything in Perl. It exists to avoid -syntactic ambiguities. -(TBT) +C<+> 単項演算子は Perl では何もしません。 +これは文法的な曖昧さを避けるために存在しています。 =item * @@ -529,9 +527,9 @@ =end original -Unlike C<for...in>, Perl's C<for> (also spelled C<foreach>) does not allow -the left-hand side to be an arbitrary expression. It must be a variable: -(TBT) +C<for...in> と異なり、Perl の C<for> (C<foreach> と書くこともあります) は +左側に任意の式を置くことはできません。 +これは変数でなければなりません: for my $variable (keys %hash) { ... @@ -545,10 +543,9 @@ =end original -Furthermore, don't forget the C<keys> in there, as -C<foreach my $kv (%hash) {}> iterates over the keys and values, and is -generally not useful ($kv would be a key, then a value, and so on). -(TBT) +さらに、ここで C<keys> を忘れないでください; C<foreach my $kv (%hash) {}> は +キーと値に対して反復するので、一般的には有用ではありません ($kv はキーになり、 +次に値になり、という形になります)。 =item * @@ -559,9 +556,9 @@ =end original -To iterate over the indices of an array, use C<foreach my $i (0 .. $#array) -{}>. C<foreach my $v (@array) {}> iterates over the values. -(TBT) +配列のインデックスに対して反復するには、 +C<foreach my $i (0 .. $#array) {}> を使ってください。 +C<foreach my $v (@array) {}> は値に対して反復します。 =item * @@ -571,8 +568,7 @@ =end original -Perl requires braces following C<if>, C<while>, C<foreach>, etc. -(TBT) +Perl は C<if>, C<while>, C<foreach> などに引き続いて中かっこが必要です。 =item * @@ -582,8 +578,7 @@ =end original -In Perl, C<else if> is spelled C<elsif>. -(TBT) +Perl では、C<else if> は C<elsif> と書きます。 =item * @@ -594,9 +589,8 @@ =end original -C<? :> has higher precedence than assignment. In JavaScript, one can -write: -(TBT) +C<? :> は代入より高い優先順位を持ちます。 +JavaScript では、以下のように書けて: condition ? do_something() : variable = 3 @@ -607,9 +601,8 @@ =end original -and the variable is only assigned if the condition is false. In Perl, you -need parentheses: -(TBT) +条件が偽の場合にのみ変数に代入されます。 +Perl では、かっこが必要です: $condition ? do_something() : ($variable = 3); @@ -619,8 +612,7 @@ =end original -Or just use C<if>. -(TBT) +または単に C<if> を使ってください。 =item * @@ -630,8 +622,7 @@ =end original -Perl requires semicolons to separate statements. -(TBT) +Perl は文の分割にセミコロンが必要です。 =item * @@ -644,11 +635,10 @@ =end original -Variables declared with C<my> only affect code I<after> the declaration. -You cannot write C<$x = 1; my $x;> and expect the first assignment to -affect the same variable. It will instead assign to an C<$x> declared -previously in an outer scope, or to a global variable. -(TBT) +C<my> で宣言された変数は宣言の I<後> でのみ効果を持ちます。 +C<$x = 1; my $x;> と書いて最初の代入が同じ変数に影響すると +想定することはできません。 +これは外側のスコープ、あるいはグローバル変数の C<$x> に代入されます。 =begin original @@ -658,10 +648,9 @@ =end original -Note also that the variable is not visible until the following -I<statement>. This means that in C<my $x = 1 + $x> the second $x refers -to one declared previously. -(TBT) +また、変数は次の I<文> まで有効にならないことにも注意してください。 +これは、C<my $x = 1 + $x> とすると 2 番目の $x は前に宣言されたものを +参照するということです。 =item * @@ -673,10 +662,9 @@ =end original -C<my> variables are scoped to the current block, not to the current -function. If you write C<{my $x;} $x;>, the second C<$x> does not refer to -the one declared inside the block. -(TBT) +C<my> 変数のスコープは現在の関数ではなく現在のブロックです。 +C<{my $x;} $x;> と書くと、2 番目の C<$x> はブロックの内側で宣言された変数を +参照できません。 =item * @@ -688,10 +676,9 @@ =end original -An object's members cannot be made accessible as variables. The closest -Perl equivalent to C<with(object) { method() }> is C<for>, which can alias -C<$_> to the object: -(TBT) +オブジェクトのメンバは変数としてアクセスできません。 +C<with(object) { method() }> の Perl での一番近い等価物は C<for> で、 +これは C<$_> がオブジェクトへの別名となります: for ($object) { $_->method; @@ -706,9 +693,8 @@ =end original -The object or class on which a method is called is passed as one of the -method's arguments, not as a separate C<this> value. -(TBT) +メソッドが呼び出されたオブジェクトまたはクラスは、独立した C<this> 値ではなく +メソッドの引数の一つとして渡されます。 =back @@ -746,7 +732,7 @@ =end original -置換における後方参照には、“\”ではなく“$”を使います。 +置換における後方参照には、"\" ではなく "$" を使います。 =item * @@ -855,8 +841,7 @@ =end original -環境変数は、自動的には独立したスカラ変数として利用できるように -なりません。 +環境変数は、自動的には独立したスカラ変数として利用できるようになりません。 =item * @@ -916,8 +901,9 @@ 裸の単語、特に全てが小文字のものはできる限り使わないでください。 見た目だけではその「裸の単語」が関数なのか、 -文字列なのかが判断できません。文字列にはクォートを、 -関数呼び出しには括弧をつければ、迷うこともないでしょう。 +文字列なのかが判断できません。 +文字列にはクォートを、関数呼び出しには括弧をつければ、 +迷うこともないでしょう。 =item * @@ -980,7 +966,7 @@ =end original -C<=~> が必要なところで c<=> を使わない、ということを忘れないでください; +C<=~> が必要なところで C<=> を使わない、ということを忘れないでください; これら二つの構造はかなり違います: $x = /foo/; @@ -1009,9 +995,9 @@ =end original -ローカル変数は、my() で済むところではこれで済ませること +ローカル変数は、C<my()> で済むところではこれで済ませてください (使えない場所については、L<perlform> を参照してください)。 -local() を使えばグローバル変数に対するローカルな値を与えますが、 +C<local()> を使えばグローバル変数に対するローカルな値を与えますが、 動的スコープの不慮の副作用の可能性は、そのままです。 =item * @@ -1045,7 +1031,7 @@ Translate: KIMURA Koichi (5.005_03) Update: SHIRAKATA Kentaro <argra****@ub32*****> (5.6.1-) -Status: in progress +Status: completed =end meta