0

これは機能せず、エラー#1056がスローされます。

m_cdictDeadConnections = new Dictionary();
m_cdictDeadConnections[1] = "f";

は?ここでの構文の何が問題になっていますか?ありがとう!

編集:いくつかの答えは、構文の欠如に言及しています。クラス定義から変数を取得していました。混乱してすみません。

編集:さらに明確にするために、エラー#1056が次のコード行でスローされています:

m_cdictDeadConnections[1] = "f";

いくつかの本当にあいまいな言語規則などを除けば、それは起こり得るはずのことのようには思えません。

4

4 に答える 4

1

varキーワードを見逃しているだけです:

var m_cdictDeadConnections:Dictionary = new Dictionary();
m_cdictDeadConnections[1] = "f";

(また、var に型を指定しました:Dictionary。これは非常に良い習慣です!)

于 2012-10-23T00:21:45.990 に答える
1

ロジックに問題はありません。構文が正しいことを確認してください。

var dictionary:Dictionary = new Dictionary();
于 2012-10-22T16:27:51.963 に答える
1

ここのドキュメントで説明されているようにhttp://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/Dictionary.html

Dictionary クラスを使用すると、プロパティの動的コレクションを作成できます

動的に、ディクショナリはオブジェクトにプロパティを作成し、括弧内に指定したものを識別子として使用します。

int でインデックス付けされたオブジェクトを作成する場合は、配列を使用することをお勧めします。

var myArray:Array = new Array();
myArray[0] = ""
myArray[1] = "f";

ハッシュが必要な場合は、オブジェクトを使用します。オブジェクトは文字列によってインデックス化されます:

var myObject:Object = new Object();
myObject["1"] = "f";

これらのデータ構造を作成する方法の詳細については、http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7eea.htmlを参照してください。

編集: 私のラップトップでは問題なく動作するので、動的に 1 という名前のプロパティをインスタンス化できるはずです。

于 2012-10-22T16:28:08.720 に答える
0

あなたのコードは問題ないと思います。

あなたが言ったように:「私はクラス定義から変数を取得していました」

値を挿入した後、オブジェクトをトレースすることをお勧めします。

m_cdictDeadConnections = new Dictionary();
m_cdictDeadConnections[1] = "f";
trace....

m_cdictDeadConnectionsは変数であるため、他のコードによって変更またはクリアされる可能性があります。これがお役に立てば幸いです。

于 2012-10-24T02:13:33.623 に答える