Объект как массив и переменная?
Я унаследовал эту старую кодовую базу 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