associative arrayでlength()関数を使用すると、配列内で使用されている「最大のインデックス」が返されます。したがって、整数でないキーがある場合、length()は配列内の実際の要素数を返しません。 (そしてこれは他の理由でも起こり得る)AutoHotkeyで連想配列の長さを調べるにはどうしたらいいですか?
連想配列の長さを見つけるのにもっと有効なバージョンのlength()がありますか?
または、実際に各要素を繰り返してカウントする必要がありますか?私はどのようにすべての可能なキーを事前に知っていなくてもそれをやるか分からない。
短い方法、お2/3にコードの行保存: 'DesiredDroids.SetCapacity(0)' – errorseven
動作しますが、オブジェクトのでしょう。 SetCapacity(0)も未使用領域を切り捨てます。あなたのオブジェクトが短期間で大きく成長したり収縮している場合は、パフォーマンスの問題やメモリの断片化が発生する可能性があります(参考文献[Lexikosの投稿の半分程度](https://autohotkey.com/board/topic/81609 -ahk-l-preferred-one-liner-to-empty-object-before-reuse /) –