Учебники

Lolcode — переменные

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

Область Переменных

Область видимости переменной является локальной для функции или для программного блока, т.е. переменная, определенная в одной области видимости, не может быть вызвана в любой другой области действия той же программы. Переменные доступны только после их объявления.

Обратите внимание, что в LOLCODE нет глобальной области видимости переменных.

Соглашения об именах

Имена переменных обычно называются идентификаторами. Вот некоторые соглашения для именования переменных в LOLCODE:

  • Идентификаторы переменных могут быть прописными или строчными буквами (или их сочетанием).

  • Они могут начинаться только с буквы, а затем могут сопровождаться другими буквами, цифрами и подчеркиванием.

  • LOLCODE не позволяет использовать пробелы, тире или другие символы при именовании переменной.

  • Идентификаторы переменных чувствительны к регистру.

Идентификаторы переменных могут быть прописными или строчными буквами (или их сочетанием).

Они могут начинаться только с буквы, а затем могут сопровождаться другими буквами, цифрами и подчеркиванием.

LOLCODE не позволяет использовать пробелы, тире или другие символы при именовании переменной.

Идентификаторы переменных чувствительны к регистру.

Вот некоторые правила для допустимых и недействительных имен для переменных в LOLCODE-

  • Название всегда должно начинаться с алфавита. Например, имя, имя действительны.

  • Имя переменной не может начинаться с цифры. Например, 2var недействителен.

  • Имя переменной не может начинаться со специального символа.

  • Переменная может содержать _ или цифру в любом месте своего имени, за исключением начального индекса. Например, name2_m является допустимым именем.

Название всегда должно начинаться с алфавита. Например, имя, имя действительны.

Имя переменной не может начинаться с цифры. Например, 2var недействителен.

Имя переменной не может начинаться со специального символа.

Переменная может содержать _ или цифру в любом месте своего имени, за исключением начального индекса. Например, name2_m является допустимым именем.

Некоторые примеры допустимых имен в LOLCODE показаны ниже —

Live Demo

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

пример

Live Demo

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 десятичных знаков по умолчанию.

пример

Live Demo

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, являются локальными переменными, и на этом языке нет глобальной области видимости для любой переменной.