Автор Тема: Есть ли функция обнуляющая (затирающая) значения во всем массиве?  (Прочитано 4107 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kalisnik [?]

  • Продвинутый
  • ***
  • Сообщений: 293
  • Репутация: 63
  • Пол: Мужской
  • Эволюция
    • Награды
Необходимо простым способом удалить значения во всем массиве, не прибегая к прописыванию значения каждой переменной.  Если это конечно предусмотрено синтаксисом?

Русское сообщество AutoIt


Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4020
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
Переинициализируй его без присвоения значений
Код: AutoIt [Выделить]
#include <array.au3>
$N = 5
Dim $Array[$N] = [1, 2, 3 ,4, 5]
_ArrayDisplay($Array)
Dim $Array[$N]
_ArrayDisplay($Array)

Конференция посвященная AutoIt на jabber.ru - [email protected]
Как попасть на конференцию читаем тут


Оффлайн AZJIO [?]

  • VIP
  • *
  • Сообщений: 2713
  • Репутация: 1137
    • мой сайт
    • Награды
  • Версия AutoIt: 3.3.8.1
Из справки Dim / Global / Local / Const

Цитировать
Для освобождения выделенной массиву памяти достаточно присвоить его названию (как простой переменной) любое значение, например нуль:

$array = 0

Оффлайн SyDr [?]

  • Модератор
  • *
  • Сообщений: 649
  • Репутация: 157
  • Пол: Мужской
  • Сидра
    • Награды
  • Версия AutoIt: 3.3.12.0
Мне показалось, что автор имел ввиду именно значения в массиве, а не сам массив.

Если это так, то это уже не смешно.
Код: AutoIt [Выделить]
For $nCount = 0 To UBound($Array) - 1
$Array[$nCount]=0
Next


Русское сообщество AutoIt


Оффлайн Kalisnik [?]

  • Продвинутый
  • ***
  • Сообщений: 293

  • Автор темы
  • Репутация: 63
  • Пол: Мужской
  • Эволюция
    • Награды
Переинициализируй его без присвоения значений
Код: AutoIt [Выделить]
#include <array.au3>
$N = 5
Dim $Array[$N] = [1, 2, 3 ,4, 5]
_ArrayDisplay($Array)
Dim $Array[$N]
_ArrayDisplay($Array)

Действительно, это пожалуй самый простой способ. А память не мусорится от таких вот действий?

Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4020
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
Kalisnik  [?]
Цитировать
Действительно, это пожалуй самый простой способ. А память не мусорится от таких вот действий?
нет. нечем мусориться. в памяти сидят всего лишь одна переменная $N и один массив $Array. после переинициализации массив потерял свои старые значения

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7827
  • Репутация: 2287
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Kalisnik  [?]
Цитировать
Необходимо простым способом удалить значения во всем массиве, не прибегая к прописыванию значения каждой переменной
Я делаю обычно так:
Код: AutoIt [Выделить]
$Array = 0
Dim $Array[$Count]



Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
7 Ответов
3090 Просмотров
Последний ответ Октябрь 06, 2011, 22:27:34
от panda_911
6 Ответов
2860 Просмотров
Последний ответ Октябрь 19, 2011, 17:28:17
от Rjevsky
7 Ответов
4605 Просмотров
Последний ответ Март 30, 2013, 21:54:25
от madmasles
0 Ответов
1922 Просмотров
Последний ответ Март 29, 2013, 21:35:22
от madmasles
5 Ответов
2515 Просмотров
Последний ответ Март 02, 2014, 17:10:54
от C2H5OH
11 Ответов
2142 Просмотров
Последний ответ Сентябрь 15, 2014, 09:02:29
от Kaster
6 Ответов
1806 Просмотров
Последний ответ Октябрь 06, 2014, 11:46:49
от vaf
7 Ответов
1660 Просмотров
Последний ответ Август 08, 2015, 16:37:43
от iamOmg
10 Ответов
7709 Просмотров
Последний ответ Январь 09, 2018, 14:45:27
от Hikari
0 Ответов
279 Просмотров
Последний ответ Март 20, 2017, 12:08:38
от Pahuchiy