27

myブロックまたはファイルに対してローカルな変数を宣言するために使用されることを知っています。これはPerlmyキーワードだといつも思っていました。しかし、それは実際には関数だと言われました。証明の 1 つは、「関数」セクションの下にperldoc置くことです。http://perldoc.perl.org/functions/my.htmlを参照してください。my

関数はどのようにローカル変数を宣言するのですか?

4

2 に答える 2

16

myは関数ではありません。関数のように機能するため、(perl のドキュメントで) 関数と一緒にまとめられているだけです。

を見るとperldoc perlfunc、サイスです。

以下は Perl の関数 (いくつかのキーワードや名前付き演算子など、関数のように見えるものを含む) をカテゴリ別に並べたものです...

それから少し下

スコーピング
callerに関連するキーワード, import, local, my, our, package,stateuse

具体的には、「機能」の代わりに「キーワード」という単語が使用されていることに注意してください。</p>

つまり、 Perl 関数 AZの下に非関数 (キーワードなど) がいくつかあることを意味します。

別の言い方をすれば、perldoc の「関数」の下に何かがリストされている場合、それは必ずしも関数であるとは限りません。関数のように機能するキーワードまたは名前付き演算子である可能性があります。

于 2013-06-28T07:35:56.550 に答える