Если вы используете функцию length() на associative array, она вернет «самый большой индекс», используемый в массиве. Итак, если у вас есть ключи, которые не являются целыми числами, length() не вернет действительное количество элементов в вашем массиве. (И это может произойти и по другим причинам.)Как найти длину ассоциативного массива в AutoHotkey?
Есть ли более полезная версия length() для нахождения длины ассоциативного массива?
Или мне нужно фактически прокручивать и подсчитывать каждый элемент? Я не уверен, как бы это сделать, не зная всех возможных ключей заранее.
Более короткий способ получения графа на объекте, вам сэкономить два/три строки кода: 'DesiredDroids.SetCapacity (0)' – errorseven
Это будет работать, но объект. SetCapacity (0) также усекает неиспользуемое пространство. Если ваш объект растет и сильно сокращается в течение короткого периода времени, вы можете столкнуться с проблемой производительности или, что еще хуже, фрагментацией памяти (ссылка [сообщение Lexikos о том, что на полпути вниз] (https://autohotkey.com/board/topic/81609 -ahk-л-Preferred-один вкладыш к пустому-объект-перед тем, повторное использование /)) –