2011-12-28 13 views
1

私はStrobeMediaPlaybackと統合されているプロジェクトに取り組んでおり、なぜメディアをロードできないのかを調べることができませんでした。ActionScript 3.0関数のパラメータリストとして..._を使用するとは何ですか?

クラスのために利用可能な2つのパブリックな機能の一つは、次のとおりです。

public function loadMedia(..._):void 

これは、残りのパラメータである場合は、関数内で引数リストとして「_」のない使用はありません。

ここでは何が起こっていますか?このクラスはSpriteを継承しているため、オーバーライドのケースではありません。

+0

このシグネチャはどこにありますか。それは特定のライブラリのASDocにありますか? –

答えて

2

... (rest) parameterです。

このパラメータは、restと呼ばれる必要はありません。それはキーワードではない任意の名前を持つことができます。

有効な変数名は、数字以外の文字で始まり、英数字、アンダースコア、ドル記号を含むことができます。したがって、_はパラメータの有効な名前です。

なぜパラメータがそのように命名されたのかという疑問は、たぶんその関数の作成者が答えなければならないことでしょう。だからここに私が考えている:頻繁に使用されるオブジェクトの短い変数名(例えば、$のように短い名前としての使用)を除いて、_という名前はプレースホルダまたは未使用変数として使用されることがあります。私が質問の権利を理解していれば、その変数はその関数でも使用されていません。おそらく将来の使用のために追加されました。このようにして、このパラメータに基づく機能が実装されると、APIを変更する必要はありません。開発者は、セマンティックな意味を持つパラメータ名は、ユーザーが実際に何かをやっていることを期待しているように、ユーザーを混乱させる可能性があると考えるかもしれません。

+0

私はそれほど考えませんでした。それは、あまりにも頻繁に使用されるあいまいな言語機能が、何が起こっているのかに注意するのを見てきたことです。 –

関連する問題