LOLCODE ~ Complete Tutorial
LOLCODE ~ The Basics...
LOLCODE is an esoteric programming language inspired by the funny things on the Internet. It is designed to test the boundaries of programming language design. This tutorial provides a basic level understanding of the LOLCODE programming language.
This tutorial is meant for people who want to explore beyond general boring programming syntax. Readers of this tutorial can learn the programming language in simple and easy ways.
Programming experience recommended.
Before we get started...
To start your program, write
HAI 1.2. This means that your program is running LOLCODE verison 1.2, the newest version. End your program with
KTHXBYE. Anything written after the ending of your program will return an error upon execution.
*IMPORTANT: Every syntax in LOLCODE is in all caps. Make sure that you write it like that, otherwise your LOLCODE program will not run.
1) Printing Statements
To print a string, you use the function
VISIBLE. Make sure that you make it ALL CAPS! (Every syntax in LOLCODE is in all caps). Put your string in double quotes.
Unlike other languages, LOLCODE comments start with the keyword
BTW (Slang for 'By the way'). Anything after the
BTW is ignored.
Multi-line comments in LOLCODE start with the keyword
OBTW(Short for 'Oh, by the way') and end with
*The indentation isn't needed, I just use it because it makes it easier to read.
To declare a variable, use the
I HAVE A statement.
To assign a variable a value, use the keyword
ITZ after the declaration of the variable.
*When we are giving the variable
food a value of
"Hamburgers", we use double quotes around the string, and when we are giving
number a value of
100 (an integer), we do not.
You can also assign a variable a value with the
R function ('R' stands for 'are').
Alternatively, you can also change the value of a variable with the
R statement too.
LOLCODE does not allow use of spaces, dashes, or other symbols while naming a variable.
Here are some of the rules for valid and invalid names for variables in LOLCODE:
- The name should always begin with an alphabet. For example, name, Name are valid.
- The name of a variable cannot begin with a digit. For example, 2var is invalid.
- The name of a variable cannot begin with a special character.
- A variable can contain _ or a digit anywhere inside its name, except at the starting index. For example, name2_m is a valid name.
Currently, the variable types in LOLCODE are:
In LOLCODE the variable type is handled dynamically by the compiler. If a variable does not have an initial value, it is called untyped (known as NOOB in LOLCODE).
*Boolean values in LOLCODE are
FAIL instead of
False, like in many other languages.
5) NOOB values
When a variable is declared, but does not have a value, it's value type is untyped, or NOOB.
A variable is not a NOOB type as soon as a value is assigned to it.
Following are the basic mathematical operations in LOLCODE:
SUM OF <a> AN <b> BTW This is a plus + operator
DIFF OF <a> AN <n> BTW This is a minus - operator
PRODUKT OF <a> AN <n> BTW This is a multiply * operator
QUOSHUNT OF <a> AN <n> BTW This is a divide / operator
MOD OF <a> AN <n> BTW This is a modulo % operator
BIGGR OF <a> AN <n> BTW This is a > operator
SMALLR OF <a> AN <n> BTW This is a < operator
Will produce this upon execution:
Here are the comparisons in LOLCODE:
8) User Input
To get user input, use the
GIMMEH (Stands for 'Give me') function.
You must declare the variable that you are going to use for user input. If you don't, you'll get an error when you execute it.
9) If/Else loops
The if-then statement is a very simple operation working on the IT variable. It is similar to if–else statements in other programming languages like C and Java.
There are four keywords to apply the if–then statements.
The general form is:
YA RLY (Yeah Really) functions like the if block itself, and the
NO WAI (No Wait) is like the else statments. Optional
MEBBE (Maybe) blocks can be added, which functions like another
YA RLY consitional.
OIC statements end the conditionals. Do NOT forget them.
These conditionals only run on Booleans (TROOFS). To create a conditional using other variable types is a little more complicated. Basically,
OMG <value> is the same as checking if the expression is equal to
OMGWTF is an else. To end a statement, you must put
Welp, that's it! You've completely mastered LOLCODE! Be sure to leave an upvote if you've enjoyed it! :)