Неявные декларации
 
Ленивая декларация переменных.

qb и fblite диалекты языка FreeBASIC позволяют именам переменных использоваться без начального объявления. Это называют неявной или ленивой декларацией, так как фактическая декларация определяется в тот момент, когда имя начинает использоваться.

Тип переменной


Когда переменная неявно объявляется, ее тип зависит от одной из двух вещей: используемые директивы неявного типа по умолчанию, если таковые имеются, или используемый символ суффикса типа, если таковой имеется.

Тип по умолчанию


В диалекте qb неявно объявленная переменная по умолчанию имеет тип Single , тогда как в диалекте fblite она имеет тип Integer.

По умолчанию директивы неявные типа

"DEFxxx" директивы диктуют новый тип по умолчанию для любых следующих неявных объявлений переменных. Это директивы: DefByte, DefUByte, DefShort, DefUShort, DefInt, DefUInt, DefLng, DefSng, DefDbl и DefStr.

Символы суффиксов типа переменной


Имена переменных с суффиксом с одним из определенного набора символов будет неявно определять тип. Это символы: '%' для Integer, '&' для Long, '!' для Single, '#' для Double и '$' для String. Эти символы переопределяют предыдущую "DEFxxx" директиву, если она есть.

Неявное объявление массивов


В настоящее время, FreeBASIC не поддерживает неявное объявление массивов.

Отладка


Для полной поддержки отладки , все переменные должны быть явно объявлены, и суффиксы не должны использоваться. Использование Option Explicit рекомендуется для включения поддержки неявных деклараций, так, чтобы неправильно напечатанные имена переменной были пойманы во время компиляции компилятором.

См. также