LINUX.ORG.RU

Динамические многомерные массивы на gambas 3

 , ,


0

1

Как объявить статический многомерный массив, я знаю

Private Ps As New Integer[100,100]

Как объявить динамический одномерный тоже знаю.

Private Ps As New Integer[]

Но вот конструкция

Private Ps As New Integer[,]
Вызывает синтаксическую ошибку ещё во время инициализации.

Пока что я выкрутился объявив динамический массив динамических массивов

ArrayI As New Integer[][] 
И в цикле создав в нём массивы.
ArrayI[a] = New Integer[] 
Конечно можно обращаться к матрице Ps[x][y] Но хотелось бы Ps[x,y]

Как правильно это выразить на Gambas? Поддерживает ли такие массивы Gambas?

☆☆☆

Последнее исправление: CYB3R (всего исправлений: 1)

Ответ на: комментарий от Deleted

Сделай одномерный и считай смещения ручками.

Это последнее что я сделаю если не найду штатного способа. В крайнем случае класс-обёртку.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от anonymous

Разве этот т.н. язык позволяет писать что-то кроме как [x][y]?

Если создать двухмерный массив

 Public Ps As New Integer[100,100] 

То к его элементам потом можно потом спокойно обращаться используя этот синтаксис.

 Ps[x,y] = a + SumConst 

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от Deleted

А можешь вкратце описать, чем он хорош, этот бейсик?

Много чем по мелочам, если сравнивать с Visual Basic. Например можно под локальные переменные и массивы выбрать более 64 килобайт. Все переменные объявляются. Массивы являются объектами. Можно если охото создавать формы и элементы на них полностью из кода и при этом обрабатывать события при помощи динамического привязывания к именному идентефикатору и обращению к объекту Last (Ссылка по последний элемент с которым произошло событие). Можно работать с QT и GTK, можно работать с сетью, так же с базами данных, OpenGL, SDL и прочим. Есть уже готовые объекты для работы с популярными в linux прикладными фреймворками.

Трудно так сразу всё изложить http://ru.wikipedia.org/wiki/Gambas

Ну ещё достаточно быстро работает код даже при использовании типа Variant, что меня приятно удивило.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от rezedent12

А для чего его применяешь? Быстро накидать прототип?

Если я бейсик не знаю, есть смысл учить?

Deleted
()
Ответ на: комментарий от Deleted

А для чего его применяешь? Быстро накидать прототип?

Пишу игровой серверный движок для RTS которая будет работать на кластере. http://star-engineers.blogspot.ru/ сейчас пишу код для планетарных локаций. Прошлый написанный проект, это кривоватый авторизатор для пиратского minecraft работающий через консоль с не модифицированным minecraft сервером и через разделяемый файл с интерфейсом на PHP.

Если я бейсик не знаю, есть смысл учить?

Зависит от того что ты пишешь и под какие платформы.

rezedent12 ☆☆☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.