[perldocjp-cvs 224] CVS update: docs/modules/feature-1.11

Back to archive index

argra****@users***** argra****@users*****
2008年 1月 5日 (土) 03:26:47 JST


Index: docs/modules/feature-1.11/feature.pod
diff -u /dev/null docs/modules/feature-1.11/feature.pod:1.1
--- /dev/null	Sat Jan  5 03:26:47 2008
+++ docs/modules/feature-1.11/feature.pod	Sat Jan  5 03:26:47 2008
@@ -0,0 +1,271 @@
+=head1 NAME
+
+=begin original
+
+feature - Perl pragma to enable new syntactic features
+
+=end original
+
+feature - 新しい構文上の機能を有効にするプラグマ
+
+=head1 SYNOPSIS
+
+    use feature qw(switch say);
+    given ($foo) {
+	when (1)	  { say "\$foo == 1" }
+	when ([2,3])	  { say "\$foo == 2 || \$foo == 3" }
+	when (/^a[bc]d$/) { say "\$foo eq 'abd' || \$foo eq 'acd'" }
+	when ($_ > 100)   { say "\$foo > 100" }
+	default		  { say "None of the above" }
+    }
+
+    use feature ':5.10'; # loads all features available in perl 5.10
+
+=head1 DESCRIPTION
+
+=begin original
+
+It is usually impossible to add new syntax to Perl without breaking
+some existing programs. This pragma provides a way to minimize that
+risk. New syntactic constructs can be enabled by C<use feature 'foo'>,
+and will be parsed only when the appropriate feature pragma is in
+scope.
+
+=end original
+
+既に存在しているプログラムを壊すことなく、Perl に新しい文法を追加することは、
+普通は不可能です。
+このプラグマは、リスクを最小化する方法を提供します。
+新しい文法構造は C<use feature 'foo'> で有効化され、適切な feature プラグマが
+スコープ内にある場合にのみパースされます。
+
+=head2 Lexical effect
+
+(レキシカルな効果)
+
+=begin original
+
+Like other pragmas (C<use strict>, for example), features have a lexical
+effect. C<use feature qw(foo)> will only make the feature "foo" available
+from that point to the end of the enclosing block.
+
+=end original
+
+(例えば C<use strict> のような) その他のプラグマと同様、feature は
+レキシカルな効果を持ちます。
+C<use feature qw(foo)> は、この地点からブロックの終わりまでの間だけ、
+"foo" 機能を利用可能にします。
+
+    {
+        use feature 'say';
+        say "say is available here";
+    }
+    print "But not here.\n";
+
+=head2 C<no feature>
+
+=begin original
+
+Features can also be turned off by using C<no feature "foo">. This too
+has lexical effect.
+
+=end original
+
+機能は C<no feature "foo"> を使うことで無効にすることも出来ます。
+これもまたレキシカルな効果を持ちます。
+
+    use feature 'say';
+    say "say is available here";
+    {
+        no feature 'say';
+        print "But not here.\n";
+    }
+    say "Yet it is here.";
+
+=begin original
+
+C<no feature> with no features specified will turn off all features.
+
+=end original
+
+C<no feature> と、機能を指定せずに使うと、全ての機能が無効になります。
+
+=head2 The 'switch' feature
+
+('switch' 機能)
+
+=begin original
+
+C<use feature 'switch'> tells the compiler to enable the Perl 6
+given/when construct.
+
+=end original
+
+C<use feature 'switch'> は、コンパイラに Perl 6 given/when 構文を
+有効にするように伝えます。
+
+=begin original
+
+See L<perlsyn/"Switch statements"> for details.
+
+=end original
+
+詳しくは L<perlsyn/"Switch statements"> を参照してください。
+
+=head2 The 'say' feature
+
+('say' 機能)
+
+=begin original
+
+C<use feature 'say'> tells the compiler to enable the Perl 6
+C<say> function.
+
+=end original
+
+C<use feature 'say'> は、コンパイラに Perl 6 C<say> 関数を有効にするように
+伝えます。
+
+=begin original
+
+See L<perlfunc/say> for details.
+
+=end original
+
+詳しくは L<perlfunc/say> を参照してください。
+
+=head2 the 'state' feature
+
+('state' 機能)
+
+=begin original
+
+C<use feature 'state'> tells the compiler to enable C<state>
+variables.
+
+=end original
+
+C<use feature 'state'> は、コンパイラに C<state> 変数を有効にするように
+伝えます。
+
+=begin original
+
+See L<perlsub/"Persistent Private Variables"> for details.
+
+=end original
+
+詳しくは L<perlsub/"Persistent Private Variables"> を参照してください。
+
+=head1 FEATURE BUNDLES
+
+(機能の束)
+
+=begin original
+
+It's possible to load a whole slew of features in one go, using
+a I<feature bundle>. The name of a feature bundle is prefixed with
+a colon, to distinguish it from an actual feature. At present, the
+only feature bundles are C<use feature ":5.10"> and C<use feature ":5.10.0">,
+which both are equivalent to C<use feature qw(switch say state)>.
+
+=end original
+
+大量の機能全体を 1 回で読み込むためには、I<機能の束> (feature bundle) が
+使えます。
+機能の束の名前には、実際の機能と区別するためにコロンが前置されます。
+現在のところ、唯一の機能の束は C<use feature ":5.10"> と
+C<use feature ":5.10.0"> で、どちらも C<use feature qw(switch say state)> と
+等価です。
+
+=begin original
+
+In the forthcoming 5.10.X perl releases, C<use feature ":5.10"> will be
+equivalent to the latest C<use feature ":5.10.X">.
+
+=end original
+
+来たるべき perl バージョン 5.10.X では、C<use feature ":5.10"> は
+最新の C<use feature ":5.10.X"> と等価になります。
+
+=head1 IMPLICIT LOADING
+
+(暗黙の読み込み)
+
+=begin original
+
+There are two ways to load the C<feature> pragma implicitly :
+
+=end original
+
+C<feature> プラグマを暗黙に読み込むには二つの方法があります:
+
+=over 4
+
+=item *
+
+=begin original
+
+By using the C<-E> switch on the command-line instead of C<-e>. It enables
+all available features in the main compilation unit (that is, the one-liner.)
+
+=end original
+
+コマンドラインで C<-e> オプションの代わりに C<-E> オプションを使います。
+これにより、main コンパイル単位(つまり、1 行野郎)で全ての利用可能な機能が
+有効になります。
+
+=item *
+
+=begin original
+
+By requiring explicitly a minimal Perl version number for your program, with
+the C<use VERSION> construct, and when the version is higher than or equal to
+5.10.0. That is,
+
+=end original
+
+つまり、以下のようにすると:
+
+    use 5.10.0;
+
+=begin original
+
+will do an implicit
+
+=end original
+
+暗黙のうちに以下のように:
+
+    use feature ':5.10.0';
+
+=begin original
+
+and so on.
+
+=end original
+
+なるということです。
+
+=begin original
+
+But to avoid portability warnings (see L<perlfunc/use>), you may prefer:
+
+=end original
+
+しかし移植性の警告(L<perlfunc/use> を参照してください)を避けるために、
+以下のようにするのを好むかもしれません:
+
+    use 5.010;
+
+=begin original
+
+with the same effect.
+
+=end original
+
+これでも同じ効果が得られます。
+
+=back
+
+=cut
+


perldocjp-cvs メーリングリストの案内
Back to archive index