Руководство - Переменные и Обработка переменных
Объявление переменной A с типом по умолчанию (.i), но обратите внимание на то, что Вы не сможете так объявить переменную, если использовали директиву EnableExplicit. Если так объявить А в основном коде, она будет не доступна в процедуре, и наоборот, если переменную А объявить в рамках процедуры, она будет локальной, то есть доступна только в этой процедуре, но не в основном коде. A = 0
Объявление переменной B с типом long (целое число - 4 байта), и переменной C - с типом Float (число с плавающей точкой - 4 байта), они будут инициализированы, и обнулены. Define B.l, C.f
Объявление D и E с типом long. Они так же будут инициализированы, но с заданными значениями (10 и 20). Обратите внимание, что в этом варианте для объявления был использован альтернативный синтаксис Define. Define.l D = 10, E = 20
Здесь F - строковая переменная (string) . Define.s F
Здесь G$ - тоже строковая переменная, однако, если Вы объявляете строку таким путём, то в этом коде Вы должны будете всегда использовать нотацию $, чтобы обратится именно к этой переменной. Символ $ становится как бы частью имени переменной. G$ = "Hello, "
Так работать не будет (G становится новой целочисленной переменной, и компилятор выдаст ошибку): G = "Goodbye, World!"
Здесь H это массив строкового типа с 20-ю элементами, индексация массива начинается с нуля: Dim H.s(19)
Теперь массив H содержит 25 строковых элементов. При увеличении размера массива, данные содержащиеся в нём сохраняются: ReDim H.s(24)
Переменная J объявляется как Глобальная, это значит в Глобальной области видимости и будет доступна не только в основном коде, но и в процедурах. Но, чтобы свести к минимуму вероятность случайных изменений значений переменных, иногда лучше использовать ключевое слово Shared, которое позволяет находясь в процедуре получать доступ к переменной основного кода. Global.i J
Объявленный K - будет новым, пустым связным списком, строкового (string) типа, в основной области видимости (доступный для основного кода). NewList K.s()
Объявленная M будет новой, пустой хеш-картой, строкового (string) типа, в основной области видимости. NewMap M.s()
Обратите внимание на то, что Вы не можете использовать альтернативный синтаксис Define при использовании команд NewList или NewMap . Иначе компилятора выдаст ошибку.
В рамках процедуры: Procedure TestVariables()
; N и P будут локальными.
Define.l N
Protected.l P
; Q будет статической локальной переменной.
Static.l Q
; Переменная F и список K с типом (string) из основного кода будут доступны в рамках этой процедуры.
Shared F, K()
; Переменная глобальной области видимости J будет доступна здесь неявно.
EndProcedure
Использование различных операторов с переменными: ; Прибавит к переменной А число 2.
A + 2
; Применит поразрядное ИЛИ к числу 21 (A станет 23)
A | 21
; Применит поразрядное И к числу 1 (A станет 1)
A & 1
; Применит Арифметический сдвиг влево (A станет 2, это 10 в двоичном формате).
A << 1
Конкатенация строк: G$ + "World!"
Добавит элемент к списку K: AddElement(K())
K() = "List element one"
Добавит элемент к хеш-карте M: M("one") = "Map element one"
Навигация Руководства
< Первые шаги - Обзор - Константы >