FreeBasic
Главная
Вход
Регистрация
Пятница, 29.03.2024, 12:08Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Freebasic » Вопросы по языку FreeBasic » Const массивы
Const массивы
sashasoldДата: Пятница, 02.06.2023, 03:06 | Сообщение # 1
Лейтенант
Группа: Пользователи
Сообщений: 41
Репутация: 0
Статус: Offline
Нельзя создавать массивы с заранее известными значениями?
Типа const as long massiv(3) ={1,2,3}
 
zamabuvaraeuДата: Пятница, 02.06.2023, 05:26 | Сообщение # 2
Подполковник
Группа: Друзья
Сообщений: 147
Репутация: 4
Статус: Offline
Массивы не могут константами.
Используйте Dim.
 
haavДата: Пятница, 02.06.2023, 07:08 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Вот так можно создать массив с константами:

Код
dim b(9) as const long = {1,2,3,4,5,6,7,8,9,0}


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
zamabuvaraeuДата: Пятница, 02.06.2023, 07:51 | Сообщение # 4
Подполковник
Группа: Друзья
Сообщений: 147
Репутация: 4
Статус: Offline
Некстати, но довольно странно что даже при наличии инициализатора (фигурных скобок) FreeBASIC требует указания размерности. Ведь из инициализатора однозначно следует длина массива и количество измерений, поэтому нет смысла дублировать эту информацию.
В vb.net, например, так нельзя; можно только так:

Код
Dim Vector() As Integer = {1, 2, 3}

Добавлено (02.06.2023, 08:18)
---------------------------------------------
О, понятно почему так сделано.
В vb.net нижняя граница массива — это всегда 0.
Во FreeBASIC нижнюю границу можно изменить с 0 на любое другое число, даже отрицательное.

 
haavДата: Пятница, 02.06.2023, 08:21 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Цитата zamabuvaraeu ()
Некстати, но довольно странно что даже при наличии инициализатора (фигурных скобок) FreeBASIC требует указания размерности


Почему странно? Мы же можем инициализировать только часть , если остальные ячейки подразумеваются обнуленными:

Код
dim b(9) as const long = {1,2,3}


А если же не хочется подсчитывать кол-во ячеек , то вместо цифры указать многоточие:

Код
dim b(...) as const long = {1,2,3}


тогда можно в любой момент в этом коде добавить или убавить данные в скобках , не подсчитывая сколько там констант.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
sashasoldДата: Суббота, 03.06.2023, 02:53 | Сообщение # 6
Лейтенант
Группа: Пользователи
Сообщений: 41
Репутация: 0
Статус: Offline
От перестановки слов оказывается смысл меняется, так нельзя так можно. Странно. Ну да ладно. Спасибо!!!
 
Форум » Freebasic » Вопросы по языку FreeBasic » Const массивы
  • Страница 1 из 1
  • 1
Поиск: