Комментарии
 
Комментарии - это регионы текста, которые являются полезными для программиста, но которые будут игнорироваться компилятором. Исключением являются метакоманды, которые могут появиться в некоторых типах комментариев.

Однострочные комментарии

Одинарная кавычка (') может быть использована для указания комментария. Она может появиться после других ключевых слов в строке исходного кода. Заявления после кавычки будут рассматриваться в качестве комментария.
' текст комментария


Оператор комментария: Rem

Исходный код , начинающийся с Rem указывает, что остальная часть строки является комментарием и не будет скомпилирована. Поведение Rem то же самое, что и выше, за исключением того, что в заявлении участвует ключевое слово.
Rem комментарий


Многострочные комментарии

Многострочные комментарии отмечаются маркерами /' и '/. Весь текст между этими двумя маркерами считается комментарием и не компилируется.

Многострочные комментарии могут занимать несколько строк и могут также использоваться в середине заявления. После окончания комментария заявление вновь будет анализироваться как обычно (даже если комментарий разрывает строку).
/' многострочный
комментарий '/


Print "Hello" /' встроенный комментарий'/ " world"

Примечание: Если FreeBASIC встречает маркер закрытия комментария без наличия открывающего маркера , он будет рассматривать его как нормальный однострочный комментарий благодаря одиночной кавычке.

Вложенные комментарии

Многострочный комментарий может содержать другие многострочные комментарии внутри него. Каждый внутренний комментарий имеет свои собственные маркеры открытия\закрытия комментария.

/'
 Это комментарий.
 /'
  Это вложенный комментарий
 '/
    Это комментарий.
'/

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

Комментарии после переноса строки

Однострочный комментарий может появиться после символа переноса строки ( _ ) в многострочных инструкциях. FreeBASIC не анализирует текст после символов переноса строки, хотя вы не можете открыть многострочные комментарии после них.

Print _ ' Строка
    "This is part of the previous line's statement"


Метакоманды

Метакоманды, как $Static и $Include, могут размещаться внутри комментариев. Знак $ и ключевое слово должны идти первыми в заявлении, не включая пробелы.

Rem компиляция с -lang fblite или qb

#lang "fblite"

Rem $Static
' $include: 'vbcompat.bi'


Парсинг однострочных комментариев

Когда вы создаете однострочный комментарий, FreeBASIC будет разбирать данный комментарий, проверяя его на предмет наличия метакомманды. Если после создания однострочного комментария будет найден многострочный маркер открытия или закрытия, то он будет рассматриваться как часть однострочного комментария.

Если вы хотите предотвратить дальнейший разбор однострочного комментария, поставьте еще одну кавычку ( ' )  в начале комментария. FreeBASIC будет рассматривать остальную часть линии, в том числе метакомманды , как обычный текст, и будет их игнорировать.
    • Примечание: До версии 0.21.0 , многострочные комментарии, идущие после однострочного, учитывались при парсинге. Именно поэтому двойной апостоф был необходим , если нужно было игнорировать все открытые и закрытые маркеры многострочных комментариев. В более новых версиях -lang fb диалекта маркеры открытия и закрытия многострочных комментариев полностью игнорируются в однострочных комментариях.

'' $static <-- не будет парситься
'' многострочный маркер ("/'") будет игнорироваться
Print "This line is not a comment."


Пример

/' это многострочный 
комментарий как заголовок
для примера '/

Rem Это однострочный комментарий

'это тоже однострочный комментарий

Dim a As Integer   'комментарий после заявления

Dim b As /' можно прокомментировать и здесь также '/    Integer


#if 0
    до версии 0.16 данный способ
    был единственным, чтобы создавать
    многострочные комментарии в коде.

#endif



См. также