Объект как массив и переменная?

Я унаследовал эту старую кодовую базу TurboBasic и преобразовал ее в нечто более современное. Можете ли вы объяснить, как в этом фрагменте кода Wind может быть как переменной, так и массивом?

Dim Wind(1:3,2:3)

Sub WindFunction

     Shared Wind()
     local var
     Erase Wind

     Wind = 123

     var = Wind

     Wind(1,2) = 567

End Sub

1 ответ

Решение

Страница википедии на Turbo Basic предполагает, что это один из диалектов, где

  • A... двойной
  • A$... строка
  • A(...)... массив двойных

рассматриваются как совершенно отдельные переменные, поэтому в вашем случае у вас есть

  • Wind(...)... массив двойных
  • Wind... двойной

Эти диалекты обрабатывают большинство типов переменных только по имени. Только массивы должны быть объявлены. Иногда даже массивы могут быть адресованы без объявления, тогда предполагается, что они являются массивом с одним измерением и размером 10.

Еще несколько ссылок можно найти здесь на SO (о, только что видел, что вы тоже * g *): https://stackru.com/questions/4147605/learning-turbobasic

Другие вопросы по тегам