my
ブロックまたはファイルに対してローカルな変数を宣言するために使用されることを知っています。これはPerlmy
のキーワードだといつも思っていました。しかし、それは実際には関数だと言われました。証明の 1 つは、「関数」セクションの下にperldoc
置くことです。http://perldoc.perl.org/functions/my.htmlを参照してください。my
関数はどのようにローカル変数を宣言するのですか?
my
ブロックまたはファイルに対してローカルな変数を宣言するために使用されることを知っています。これはPerlmy
のキーワードだといつも思っていました。しかし、それは実際には関数だと言われました。証明の 1 つは、「関数」セクションの下にperldoc
置くことです。http://perldoc.perl.org/functions/my.htmlを参照してください。my
関数はどのようにローカル変数を宣言するのですか?
my
は関数ではありません。関数のように機能するため、(perl のドキュメントで) 関数と一緒にまとめられているだけです。
を見るとperldoc perlfunc
、サイスです。
以下は Perl の関数 (いくつかのキーワードや名前付き演算子など、関数のように見えるものを含む) をカテゴリ別に並べたものです...
それから少し下
スコーピング
caller
に関連するキーワード,import
,local
,my
,our
,package
,state
use
具体的には、「機能」の代わりに「キーワード」という単語が使用されていることに注意してください。</p>
つまり、 Perl 関数 AZの下に非関数 (キーワードなど) がいくつかあることを意味します。
別の言い方をすれば、perldoc の「関数」の下に何かがリストされている場合、それは必ずしも関数であるとは限りません。関数のように機能するキーワードまたは名前付き演算子である可能性があります。