argra****@users*****
argra****@users*****
2018年 1月 17日 (水) 04:11:39 JST
Index: docs/perl/5.22.1/perldata.pod diff -u docs/perl/5.22.1/perldata.pod:1.1 docs/perl/5.22.1/perldata.pod:1.2 --- docs/perl/5.22.1/perldata.pod:1.1 Tue Mar 28 23:40:49 2017 +++ docs/perl/5.22.1/perldata.pod Wed Jan 17 04:11:39 2018 @@ -458,14 +458,13 @@ 1 文字変数として使われるかもしれません。 しかし、非表示文字の使用は v5.22 から廃止予定で、 この形式の対応は将来のバージョンの perl で削除される予定です。 -ASCII space characters and -C<NUL> already aren't allowed, so this means that a single-character -variable name with that name being any other C0 control C<[0x01-0x1F]>, -or C<DEL> will generate a deprecated warning. Already, under C<"use -utf8">, non-ASCII characters must match C<Perl_XIDS>. As of v5.22, when -not under C<"use utf8"> C1 controls C<[0x80-0x9F]>, NO BREAK SPACE, and -SOFT HYPHEN (C<SHY>)) generate a deprecated warning. -(TBT) +ASCII のスペース文字と C<NUL> は既に許されていないので、 +これは、その他の C0 制御文字 C<[0x01-0x1F]> または C<DEL> からなる +単一文字変数は廃止予定警告を出力するということです。 +既に、C<"use utf8"> の基では、非 ASCII 文字は C<Perl_XIDS> に +マッチングしなければなりません。 +v5.22 から、C<"use utf8"> の基でない場合、C1 制御文字 C<[0x80-0x9F]>, +NO BREAK SPACE, SOFT HYPHEN (C<SHY>)) は廃止予定警告を出力します。 =item * @@ -488,12 +487,10 @@ (C<${^GLOBAL_PHASE}> のような) 文字 C<[][A-Z^_?\]>、 (C<${\7LOBAL_PHASE}> のような) 非-C<NUL>、非スペースのリテラルな制御文字の いずれか。 -Like the above, when not under -C<"use utf8">, the characters in C<[0x80-0xFF]> are considered controls, but as -of v5.22, the use of any that are non-graphical are deprecated, and as -of v5.20 the use of any ASCII-range literal control is deprecated. +前述と同様、C<"use utf8"> の基でない場合、C<[0x80-0xFF]> の文字は +制御文字として扱われますが、v5.22 から非表示文字の使用は廃止予定で、 +v5.20 から ASCII 範囲のリテラル制御文字は廃止予定です。 これらの対応は将来のバージョンの perl で削除される予定です。 -(TBT) =item * @@ -1022,17 +1019,16 @@ =end original -Hexadecimal floating point can start just like a hexadecimal literal, -and it can be followed by an optional fractional hexadecimal part, -but it must be followed by C<p>, an optional sign, and a power of two. -The format is useful for accurately presenting floating point values, -avoiding conversions to or from decimal floating point, and therefore -avoiding possible loss in precision. Notice that while most current -platforms use the 64-bit IEEE 754 floating point, not all do. Another -potential source of (low-order) differences are the floating point -rounding modes, which can differ between CPUs, operating systems, -and compilers, and which Perl doesn't control. -(TBT) +16 進浮動小数点数は 16 進リテラルのように始まり、オプションの +16 進小数部が引き続きますが、引き続いて C<p>、オプションの符号および +2 の累乗がなければなりません。 +この型式は、浮動小数点数を正確に表現し、10 進浮動小数点数との変換を +避けることで起こりうる精度の低下を避けるために有用です。 +現在のプラットフォームのほとんどは 64 ビット IEEE 754 を使っていますが、 +全てではないことに注意してください。 +その他の違いの(より下位の)原因としては、浮動小数点数の丸めモードで、 +CPU、オペレーティングシステム、コンパイラによって異なることがあり、 +Perl は制御できません。 =begin original @@ -1146,6 +1142,8 @@ =head3 Special floating point: infinity (Inf) and not-a-number (NaN) +(特殊浮動小数点数: 無限 (Inf) と非数 (NaN)) + =begin original Floating point values include the special values C<Inf> and C<NaN>, @@ -1153,9 +1151,9 @@ =end original -Floating point values include the special values C<Inf> and C<NaN>, -for infinity and not-a-number. The infinity can be also negative. -(TBT) +浮動小数点値には、それぞれ無限と非数を意味する特殊な値 C<Inf> と C<NaN> を +含みます。 +無限は負数の場合もあります。 =begin original @@ -1168,13 +1166,12 @@ =end original -The infinity is the result of certain math operations that overflow -the floating point range, like 9**9**9. The not-a-number is the -result when the result is undefined or unrepresentable. Though note -that you cannot get C<NaN> from some common "undefined" or -"out-of-range" operations like dividing by zero, or square root of -a negative number, since Perl generates fatal errors for those. -(TBT) +無限は、9**9**9 のように、浮動小数点の範囲からオーバーフローした +特定の算術演算の結果です。 +非数は、結果が未定義や表現不能の場合の結果です。 +しかし、0 除算や負数の平方根のような、一般的な「未定義」や +「範囲外」演算では C<NaN> を得ることはできないことに注意してください; +Perl はこれらの場合には致命的エラーを発生させます。 =begin original @@ -1189,15 +1186,15 @@ =end original -The infinity and not-a-number have their own special arithmetic rules. -The general rule is that they are "contagious": C<Inf> plus one is -C<Inf>, and C<NaN> plus one is C<NaN>. Where things get interesting -is when you combine infinities and not-a-numbers: C<Inf> minus C<Inf> -and C<Inf> divided by C<INf> are C<NaN> (while C<Inf> plus C<Inf> is -C<Inf> and C<Inf> times C<Inf> is C<Inf>). C<NaN> is also curious -in that it does not equal any number, I<including> itself: -C<NaN> != C<NaN>. -(TBT) +無限と非数は独自の特殊な算術規則を持ちます。 +一般的な規則は、これらは「感染する」ということです: C<Inf> に 1 を足すと +C<Inf> で、C<NaN> に 1 を足すと C<NaN> です。 +ここで興味深いのは無限や非数を組み合わせた場合です: +C<Inf> から C<Inf> を引いた場合と +C<Inf> を C<INf> で割った場合は C<NaN> です (一方 C<Inf> に C<Inf> を足すとis +C<Inf> で、C<Inf> に C<Inf> を掛けると C<Inf> です)。 +C<NaN> は、自分自身を I<含む> あらゆる数と等しくないという点で興味深いです: +C<NaN> != C<NaN>。 =begin original @@ -1208,11 +1205,11 @@ =end original -Perl doesn't understand C<Inf> and C<NaN> as numeric literals, but -you can have them as strings, and Perl will convert them as needed: -"Inf" + 1. (You can, however, import them from the POSIX extension; -C<use POSIX qw(Inf NaN);> and then use them as literals.) -(TBT) +Perl は C<Inf> と C<NaN> を数値リテラルとして認識しませんが、 +これらを文字列として保持することができ、Perl は必要に応じてこれらを +変換します: "Inf" + 1。 +(しかし、POSIX エクステンションからこれらをインポートすることができます; +C<use POSIX qw(Inf NaN);> としてこれらをリテラルとして使います。) =begin original @@ -1223,11 +1220,10 @@ =end original -Note that on input (string to number) Perl accepts C<Inf> and C<NaN> -in many forms. Case is ignored, and the Win32-specific forms like -C<1.#INF> are understood, but on output the values are normalized to -C<Inf> and C<NaN>. -(TBT) +入力時 (文字列から数値) は Perl は様々な型式の C<Inf> と C<NaN> を +受け付けます。 +大文字小文字は無視し、C<1.#INF> のような Win32 特有の型式を理解しますが、 +出力時の値は C<Inf> および C<NaN> に正規化されます。 =head3 Version Strings X<version string> X<vstring> X<v-string> @@ -1723,10 +1719,9 @@ =end original -As of Perl 5.22, you can also use C<(undef)x2> instead of C<undef, undef>. -(You can also do C<($x) x 2>, which is less useful, because it assigns to -the same variable twice, clobbering the first value assigned.) -(TBT) +Perl 5.22 から、C<undef, undef> の代わりに C<(undef)x2> も使えます。 +(C<($x) x 2> ともできますが、あまり有用ではありません; これは 同じ変数に +2 回代入され、最初に代入された値が上書きされるからです。) =begin original @@ -2134,10 +2129,9 @@ =end original -As a special exception, when you slice a list (but not an array or a hash), -if the list evaluates to empty, then taking a slice of that empty list will -always yield the empty list in turn. Thus: -(TBT) +特別な例外として、(配列やハッシュではなく)リストをスライスするとき、 +リストが空に評価されると、空リストのスライスは常に空リストになります。 +従って: @a = ()[0,1]; # @a has no elements @b = (@a)[0,1]; # @b has no elements @@ -2487,7 +2481,7 @@ Translate: KIMURA Koichi Update: SHIRAKATA Kentaro <argra****@ub32*****> (5.8.8-) -Status: in progress +Status: completed =end meta