diff options
Diffstat (limited to 'LOLCODE.html.markdown')
-rw-r--r-- | LOLCODE.html.markdown | 185 |
1 files changed, 0 insertions, 185 deletions
diff --git a/LOLCODE.html.markdown b/LOLCODE.html.markdown deleted file mode 100644 index 217b7b7d..00000000 --- a/LOLCODE.html.markdown +++ /dev/null @@ -1,185 +0,0 @@ ---- -language: LOLCODE -filename: learnLOLCODE.lol -contributors: - - ["abactel", "https://github.com/abactel"] ---- - -LOLCODE is an esoteric programming language designed to resemble the speech of [lolcats](https://upload.wikimedia.org/wikipedia/commons/a/ab/Lolcat_in_folder.jpg?1493656347257). - -``` -BTW This is an inline comment -BTW All code must begin with `HAI <language version>` and end with `KTHXBYE` - -HAI 1.3 -CAN HAS STDIO? BTW Importing standard headers - -OBTW - ========================================================================== - ================================= BASICS ================================= - ========================================================================== -TLDR - -BTW Displaying text: -VISIBLE "HELLO WORLD" - -BTW Declaring variables: -I HAS A MESSAGE ITZ "CATZ ARE GOOD" -VISIBLE MESSAGE - -OBTW - (This is a codeblock.) Variables are dynamically typed so you don't need to - declare their type. A variable's type matches its content. These are the - types: -TLDR - -I HAS A STRING ITZ "DOGZ ARE GOOOD" BTW type is YARN -I HAS A INTEGER ITZ 42 BTW type is NUMBR -I HAS A FLOAT ITZ 3.1415 BTW type is NUMBAR -I HAS A BOOLEAN ITZ WIN BTW type is TROOF -I HAS A UNTYPED BTW type is NOOB - -BTW Accepting user input: -I HAS A AGE -GIMMEH AGE -BTW The variable is stored as a YARN. To convert it into NUMBR: -AGE IS NOW A NUMBR - -OBTW - ========================================================================== - ================================== MATH ================================== - ========================================================================== -TLDR - -BTW LOLCODE uses polish notation style math. - -BTW Basic mathematical notation: - -SUM OF 21 AN 33 BTW 21 + 33 -DIFF OF 90 AN 10 BTW 90 - 10 -PRODUKT OF 12 AN 13 BTW 12 * 13 -QUOSHUNT OF 32 AN 43 BTW 32 / 43 -MOD OF 43 AN 64 BTW 43 modulo 64 -BIGGR OF 23 AN 53 BTW max(23, 53) -SMALLR OF 53 AN 45 BTW min(53, 45) - -BTW Binary notation: - -BOTH OF WIN AN WIN BTW and: WIN if x=WIN, y=WIN -EITHER OF FAIL AN WIN BTW or: FAIL if x=FAIL, y=FAIL -WON OF WIN AN FAIL BTW xor: FAIL if x=y -NOT FAIL BTW unary negation: WIN if x=FAIL -ALL OF WIN AN WIN MKAY BTW infinite arity AND -ANY OF WIN AN FAIL MKAY BTW infinite arity OR - -BTW Comparison: - -BOTH SAEM "CAT" AN "DOG" BTW WIN if x == y -DIFFRINT 732 AN 184 BTW WIN if x != y -BOTH SAEM 12 AN BIGGR OF 12 AN 4 BTW x >= y -BOTH SAEM 43 AN SMALLR OF 43 AN 56 BTW x <= y -DIFFRINT 64 AN SMALLR OF 64 AN 2 BTW x > y -DIFFRINT 75 AN BIGGR OF 75 AN 643 BTW x < y - -OBTW - ========================================================================== - ============================== FLOW CONTROL ============================== - ========================================================================== -TLDR - -BTW If/then statement: -I HAS A ANIMAL -GIMMEH ANIMAL -BOTH SAEM ANIMAL AN "CAT", O RLY? - YA RLY - VISIBLE "YOU HAV A CAT" - MEBBE BOTH SAEM ANIMAL AN "MAUS" - VISIBLE "NOM NOM NOM. I EATED IT." - NO WAI - VISIBLE "AHHH IS A WOOF WOOF" -OIC - -BTW Case statement: -I HAS A COLOR -GIMMEH COLOR -COLOR, WTF? - OMG "R" - VISIBLE "RED FISH" - GTFO - OMG "Y" - VISIBLE "YELLOW FISH" - BTW Since there is no `GTFO` the next statements will also be tested - OMG "G" - OMG "B" - VISIBLE "FISH HAS A FLAVOR" - GTFO - OMGWTF - VISIBLE "FISH IS TRANSPARENT OHNO WAT" -OIC - -BTW For loop: -I HAS A TEMPERATURE -GIMMEH TEMPERATURE -TEMPERATURE IS NOW A NUMBR -IM IN YR LOOP UPPIN YR ITERATOR TIL BOTH SAEM ITERATOR AN TEMPERATURE - VISIBLE ITERATOR -IM OUTTA YR LOOP - -BTW While loop: -IM IN YR LOOP NERFIN YR ITERATOR WILE DIFFRINT ITERATOR AN -10 - VISIBLE ITERATOR -IM OUTTA YR LOOP - -OBTW - ========================================================================= - ================================ Strings ================================ - ========================================================================= -TLDR - -BTW Linebreaks: -VISIBLE "FIRST LINE :) SECOND LINE" - -BTW Tabs: -VISIBLE ":>SPACES ARE SUPERIOR" - -BTW Bell (goes beep): -VISIBLE "NXT CUSTOMER PLS :o" - -BTW Literal double quote: -VISIBLE "HE SAID :"I LIKE CAKE:"" - -BTW Literal colon: -VISIBLE "WHERE I LIVE:: CYBERSPACE" - -OBTW - ========================================================================= - =============================== FUNCTIONS =============================== - ========================================================================= -TLDR - -BTW Declaring a new function: -HOW IZ I SELECTMOVE YR MOVE BTW `MOVE` is an argument - BOTH SAEM MOVE AN "ROCK", O RLY? - YA RLY - VISIBLE "YOU HAV A ROCK" - NO WAI - VISIBLE "OH NO IS A SNIP-SNIP" - OIC - GTFO BTW This returns NOOB -IF U SAY SO - -BTW Declaring a function and returning a value: -HOW IZ I IZYELLOW - FOUND YR "YELLOW" -IF U SAY SO - -BTW Calling a function: -I IZ IZYELLOW MKAY - -KTHXBYE -``` - -## Further reading: - -- [LCI compiler](https://github.com/justinmeza/lci) -- [Official spec](https://github.com/justinmeza/lolcode-spec/blob/master/v1.2/lolcode-spec-v1.2.md) |