Автор Тема: Аналог массива структур в autoit  (Прочитано 443 раз)

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

Оффлайн badhabit [?]

  • Новичок
  • *
  • Сообщений: 36
  • Репутация: 0
    • Награды
Добрый день. Мне нужно хранить произвольное количество одинаковых групп переменных. На C например я могу это делать в векторе (массиве) структур:
Struct a
{
int a;
string s;
}
vector<a> mylist;

А есть ли какой-нибудь аналог в autoit? Я пока кроме массива строк разделённых делимиторами и последующим StringSplit не придумал ничего...

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

Аналог массива структур в autoit
« Отправлен: Январь 12, 2018, 08:05:19 »

Оффлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1433
  • Репутация: 212
  • Пол: Мужской
  • Windows 7 /10 [x64]
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Аналог массива структур в autoit
« Ответ #1, Отправлен: Январь 12, 2018, 08:53:08 »
Обзор языка - переменные
Массивы


Добавлено: Январь 12, 2018, 09:15:03
Возможен вариант составления массива массивов:
Код: AutoIt [Выделить]
#include <Array.au3>

Local $aX[3] = ["x1", "x2", "x3"]
Local $aY[3] = ["y1", "y2", "y3"]
Local $aArray[2] = [$aX, $aY]

_ArrayDisplay($aArray[0])
MsgBox(262144, Default, ($aArray[1])[1])

« Последнее редактирование: Январь 12, 2018, 09:15:03 от Alofa, Причина: Объединение сообщений »

Оффлайн badhabit [?]

  • Новичок
  • *
  • Сообщений: 36

  • Автор темы
  • Репутация: 0
    • Награды
Re: Аналог массива структур в autoit
« Ответ #2, Отправлен: Январь 12, 2018, 09:23:05 »
Т.е. Решение это двумерный массив вариантов.. с обращением к элементам через их индекс...
А более удобное обращение к элементам не реализуемо? Типа такого:
MyList[1].$nVar =1
MyList[1].$sVar2 = “strong”

Оффлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1433
  • Репутация: 212
  • Пол: Мужской
  • Windows 7 /10 [x64]
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Аналог массива структур в autoit
« Ответ #3, Отправлен: Январь 12, 2018, 23:59:08 »
... А более удобное обращение к элементам не реализуемо?..
На самом деле это дело вкуса и привычек.
Вам же не обязательно хранить данные в Autoit-массиве, к примеру вы можете объявить много много переменных и варьировать их именами ($sVar_1, sVar_2 м т.п). А можете работать с ассоциативными массивами.

Главное запомните:
  • в AutoIt есть только один тип данных, называемый Variant - нетипизированный тип данных (Обзор языка - типы данных)
  • в AutoIt для переменных не надо специально выделять память, это делает интерпретатор автоматом
  • Массивы Autoit и массивы в C++ - это не одно и тоже
  • Массивы Autoit тоже можно расширять.

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

Re: Аналог массива структур в autoit
« Ответ #3 Отправлен: Январь 12, 2018, 23:59:08 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
6 Ответов
5154 Просмотров
Последний ответ Ноябрь 06, 2009, 16:39:43
от killbond
1 Ответов
2738 Просмотров
Последний ответ Ноябрь 05, 2010, 17:23:02
от amel27
4 Ответов
4859 Просмотров
Последний ответ Май 23, 2012, 15:06:19
от running-frag
19 Ответов
8762 Просмотров
Последний ответ Апрель 09, 2013, 10:14:51
от CreatoR
2 Ответов
2516 Просмотров
Последний ответ Июль 04, 2017, 09:47:40
от LunatikReal
1 Ответов
2114 Просмотров
Последний ответ Июнь 30, 2013, 21:22:26
от sngr
2 Ответов
1411 Просмотров
Последний ответ Октябрь 11, 2013, 00:03:54
от Z_Lenar
5 Ответов
3919 Просмотров
Последний ответ Ноябрь 26, 2013, 11:10:12
от InnI
5 Ответов
4373 Просмотров
Последний ответ Декабрь 25, 2013, 18:35:49
от Suppir
0 Ответов
819 Просмотров
Последний ответ Июль 24, 2015, 09:16:26
от op_joke