Как и в любом другом языке программирования, LOLCODE позволяет вам определять переменные различных типов. Эта глава познакомит вас с работой с переменными в LOLCODE.
Область Переменных
Область видимости переменной является локальной для функции или для программного блока, т.е. переменная, определенная в одной области видимости, не может быть вызвана в любой другой области действия той же программы. Переменные доступны только после их объявления.
Обратите внимание, что в LOLCODE нет глобальной области видимости переменных.
Соглашения об именах
Имена переменных обычно называются идентификаторами. Вот некоторые соглашения для именования переменных в LOLCODE:
-
Идентификаторы переменных могут быть прописными или строчными буквами (или их сочетанием).
-
Они могут начинаться только с буквы, а затем могут сопровождаться другими буквами, цифрами и подчеркиванием.
-
LOLCODE не позволяет использовать пробелы, тире или другие символы при именовании переменной.
-
Идентификаторы переменных чувствительны к регистру.
Идентификаторы переменных могут быть прописными или строчными буквами (или их сочетанием).
Они могут начинаться только с буквы, а затем могут сопровождаться другими буквами, цифрами и подчеркиванием.
LOLCODE не позволяет использовать пробелы, тире или другие символы при именовании переменной.
Идентификаторы переменных чувствительны к регистру.
Вот некоторые правила для допустимых и недействительных имен для переменных в LOLCODE-
-
Название всегда должно начинаться с алфавита. Например, имя, имя действительны.
-
Имя переменной не может начинаться с цифры. Например, 2var недействителен.
-
Имя переменной не может начинаться со специального символа.
-
Переменная может содержать _ или цифру в любом месте своего имени, за исключением начального индекса. Например, name2_m является допустимым именем.
Название всегда должно начинаться с алфавита. Например, имя, имя действительны.
Имя переменной не может начинаться с цифры. Например, 2var недействителен.
Имя переменной не может начинаться со специального символа.
Переменная может содержать _ или цифру в любом месте своего имени, за исключением начального индекса. Например, name2_m является допустимым именем.
Некоторые примеры допустимых имен в LOLCODE показаны ниже —
HAI 1.2 I HAS A food ITZ "111.00033" I HAS A food2 ITZ "111" I HAS A fo_od ITZ "1" VISIBLE food VISIBLE food2 VISIBLE fo_od KTHXBYE
Все операторы объявления в приведенном выше коде являются действительными и при выполнении выдают следующий вывод:
sh-4.3$ lci main.lo 111.00033 111 1
Некоторые примеры неверных утверждений и их вывод приведены ниже —
Пример 1
HAI 1.2 I HAS A 2food ITZ "111.00033" KTHXBYE
Приведенный выше код даст следующий вывод при его выполнении —
sh- 4.3$ lci main.lo Line 2: Expected: identifier; Got: int(2).
Пример 2
HAI 1.2 I HAS A _food ITZ "111.00033" KTHXBYE
Приведенный выше код даст следующий вывод при его выполнении —
sh- 4.3$ lci main.lo Line 2: Unrecognized sequence at: _food ITZ "111.00033".
Пример 3
HAI 1.2 I HAS A f$ood ITZ "111.00033" KTHXBYE
Приведенный выше код даст следующий вывод при его выполнении —
sh- 4.3$ lci main.lo Line 2: Unrecognized sequence at: $ood ITZ "111.00033".
Объявление и присвоение переменных
Чтобы объявить переменную, LOLCODE предоставляет ключевое слово «I HAS A», за которым следует имя переменной. Ниже вы можете найти синтаксис объявления переменной.
I HAS A VAR BTW VAR is empty now, You can use any name instead of var
Чтобы присвоить переменной значение в том же операторе, вы можете затем следовать имени переменной с помощью «ITZ» и затем дать значение, которое вы хотите присвоить. Используйте следующий синтаксис для присвоения значения переменной —
<variable> R <expression>
пример
VAR R "Green" BTW VAR is now a YARN and equals "Green" VAR R 30 BTW VAR is now a NUMBR and equals 30
Вы также можете одновременно объявлять и назначать переменные, используя следующий синтаксис:
I HAS A VAR ITZ VALUE
пример
I HAS A NAME ITS “TUTORIALS POINT”
пример
HAI 1.2 BTW this is how we declare variables I HAS A food I HAS A bird BTW this is how we assign variables food R 1 bird R 5 BTW this is how initialize variables I HAS A biz ITZ "OMG!" VISIBLE food VISIBLE biz VISIBLE bird KTHXBYE
Вышеприведенная программа показывает объявление переменных и печатает их. Выход —
sh- 4.3$ lci main.lo 1 OMG! 5
Тип литья
Чтобы преобразовать значение одного типа в другой тип, мы используем приведение типов. Приведение NUMBAR к NUMBR усекает десятичную часть числа с плавающей запятой. Приведение NUMBAR к YARN (например, путем печати) усекает вывод до 2 десятичных знаков по умолчанию.
пример
HAI 1.2 I HAS A food ITZ "111.00033" VISIBLE food BTW this is how we do type casting MAEK food A NUMBAR VISIBLE food KTHXBYE
Приведенная выше строка кода даст следующий вывод:
sh-4.3$ lci main.lo 111.00033 111.00033
Все переменные, объявленные в программе LOLCODE, являются локальными переменными, и на этом языке нет глобальной области видимости для любой переменной.