Что нового

Аналог массива структур в autoit

badhabit

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

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

Alofa

Гость
Обзор языка - переменные
Массивы


Добавлено:
Сообщение автоматически объединено:

Возможен вариант составления массива массивов:
Код:
#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])
 
Автор
B

badhabit

Новичок
Сообщения
36
Репутация
0
Т.е. Решение это двумерный массив вариантов.. с обращением к элементам через их индекс...
А более удобное обращение к элементам не реализуемо? Типа такого:
MyList[1].$nVar =1
MyList[1].$sVar2 = “strong”
 
A

Alofa

Гость
badhabit сказал(а):
... А более удобное обращение к элементам не реализуемо?..
На самом деле это дело вкуса и привычек.
Вам же не обязательно хранить данные в Autoit-массиве, к примеру вы можете объявить много много переменных и варьировать их именами ($sVar_1, sVar_2 м т.п). А можете работать с ассоциативными массивами.

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