Lolcode - Переменные

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

Объем переменных

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

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

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

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

  • Идентификаторы переменных могут быть написаны ЗАГЛАВНЫМИ или строчными буквами (или их комбинацией).

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

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

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

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

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

  • Имя переменной не может начинаться с цифры. Например,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".

Объявление и присвоение переменных

Чтобы declareпеременная LOLCODE предоставляет ключевое слово «I HAS A», за которым следует имя переменной. Ниже вы можете найти синтаксис объявления переменной.

I HAS A VAR BTW VAR is empty now, You can use any name instead of var

Чтобы assignпеременной значение в том же операторе, вы можете после имени переменной поставить «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

Вы также можете declare и assign переменные одновременно, используя следующий синтаксис -

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

пример

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