Сообщество программистов Autodesk в СНГ

ADN Club => Inventor API => Тема начата: R.I.Chernov от 15-04-2015, 18:47:50

Название: Комбинирование имени переменной
Отправлено: R.I.Chernov от 15-04-2015, 18:47:50
Доброго времени суток, уважаемые форумчане. Прошу вашей помощи в таком вот вопросе:

У меня есть 50 переменных: "a_1", "a_2", "a_3" .... "a_50". Можно ли комбинировать имя переменной при выполнении оператора "For...Next"?
Например что-то такое:
For i=1 to 50 
"а_i" = i^2
Next
Название: Re: Комбинирование имени переменной
Отправлено: Виктор Чекалин от 15-04-2015, 18:54:29
У меня есть 50 переменных: "a_1", "a_2", "a_3" .... "a_50".
Если столько переменных такого вида, то это означает одно - надо переделывать код:)
Для данного сценария нужно использовать массивы.
Код будет выглядеть как то так (не помню точно как на VB):
Код - Visual Basic [Выбрать]
  1. Array a
  2. For i=1 to 50  
  3. a(i) = i^2
  4. Next
  5.  
Название: Re: Комбинирование имени переменной
Отправлено: R.I.Chernov от 15-04-2015, 19:09:53
Спасибо, Виктор, за ваш ответ. К сожалению, использование массивов я счел неудобным. Для описания примера я максимально упростил задачу, на деле она несколько иная. Хочется выяснить, возможно ли в теории такое "склеивание" имен переменных.
П.С. Идея переделывания кода обязательно будет рассмотрена :)
Название: Re: Комбинирование имени переменной
Отправлено: Алексей Романов от 15-04-2015, 20:26:46
Хочется выяснить, возможно ли в теории такое "склеивание" имен переменных.
В чистом виде в VBA такого нет. Но можно использовать массивы, а можно коллекции (VBA!, не АИ) - ключ + значение. Имена ключей можно "склеивать". Или создать свой тип данных...
Название: Re: Комбинирование имени переменной
Отправлено: R.I.Chernov от 16-04-2015, 11:20:01
ключ + значение
Спасибо, Алексей. Буду пробовать.
Название: Re: Комбинирование имени переменной
Отправлено: Алексей Романов от 16-04-2015, 13:30:56
Буду пробовать
Я давно использую, удобно. Правда в VBA есть ограничение, нельзя обновлять значение переменной, приходиться убивать и добавлять ее в коллекцию с новым значением...