thisLetterShouldBeCapitolized = 77
thisLetterShouldNotBeCapitolized = 93
thisIsNotALetterItIsASpecialCharacter = 80
theMessageShouldBePutOntoTheScreen = 55
thisFunctionShouldRun = 12
tenPlusThree = 13
putMessageOntoScreenUsingText = function ( shouldPutMessageOntoScreenUsingText, howLongIsTheMessage, theTextToPutOntoTheScreen)
if shouldPutMessageOntoScreenUsingText == theMessageShouldBePutOntoTheScreen then
for theCharacterWeArePuttingOntoTheScreen = 51 , howLongIsTheMessage + 50 do
if theTextToPutOntoTheScreen. charactersOfTextThatWeWantToPutOnTheScreen[ theCharacterWeArePuttingOntoTheScreen - 50 ] [ 2 ] == thisLetterShouldBeCapitolized then
io.write ( string.upper ( string.char ( theTextToPutOntoTheScreen. charactersOfTextThatWeWantToPutOnTheScreen[ theCharacterWeArePuttingOntoTheScreen - 50 ] [ 1 ] ) ) )
elseif theTextToPutOntoTheScreen. charactersOfTextThatWeWantToPutOnTheScreen[ theCharacterWeArePuttingOntoTheScreen - 50 ] [ 2 ] == thisLetterShouldNotBeCapitolized then
io.write ( string.lower ( string.char ( theTextToPutOntoTheScreen. charactersOfTextThatWeWantToPutOnTheScreen[ theCharacterWeArePuttingOntoTheScreen - 50 ] [ 1 ] ) ) )
elseif theTextToPutOntoTheScreen. charactersOfTextThatWeWantToPutOnTheScreen[ theCharacterWeArePuttingOntoTheScreen - 50 ] [ 2 ] == thisIsNotALetterItIsASpecialCharacter then
io.write ( string.char ( theTextToPutOntoTheScreen. charactersOfTextThatWeWantToPutOnTheScreen[ theCharacterWeArePuttingOntoTheScreen - 50 ] [ 1 ] ) )
end
end
end
end
theHelloWorldTextWeWantToPutOnTheScreen = {
charactersOfTextThatWeWantToPutOnTheScreen = {
[ 1 ] = { 104 , thisLetterShouldBeCapitolized} ,
[ 2 ] = { 101 , thisLetterShouldNotBeCapitolized} ,
[ 3 ] = { 108 , thisLetterShouldNotBeCapitolized} ,
[ 4 ] = { 108 , thisLetterShouldNotBeCapitolized} ,
[ 5 ] = { 111 , thisLetterShouldNotBeCapitolized} ,
[ 6 ] = { 44 , thisIsNotALetterItIsASpecialCharacter} ,
[ 7 ] = { 32 , thisIsNotALetterItIsASpecialCharacter} ,
[ 8 ] = { 119 , thisLetterShouldNotBeCapitolized} ,
[ 9 ] = { 111 , thisLetterShouldNotBeCapitolized} ,
[ 10 ] = { 114 , thisLetterShouldNotBeCapitolized} ,
[ 11 ] = { 108 , thisLetterShouldNotBeCapitolized} ,
[ 12 ] = { 100 , thisLetterShouldNotBeCapitolized} ,
[ 13 ] = { 46 , thisIsNotALetterItIsASpecialCharacter} ,
} ,
}
theFunctionThatRunsWhenTheProgramIsStarted = function ( shouldThisFunctionRun)
if shouldThisFunctionRun == thisFunctionShouldRun then
putMessageOntoScreenUsingText( theMessageShouldBePutOntoTheScreen, tenPlusThree, theHelloWorldTextWeWantToPutOnTheScreen)
end
end
theFunctionThatRunsWhenTheProgramIsStarted( thisFunctionShouldRun)
dGhpc0xldHRlclNob3VsZEJlQ2FwaXRvbGl6ZWQgPSA3Nwp0aGlzTGV0dGVyU2hvdWxkTm90QmVDYXBpdG9saXplZCA9IDkzCnRoaXNJc05vdEFMZXR0ZXJJdElzQVNwZWNpYWxDaGFyYWN0ZXIgPSA4MAp0aGVNZXNzYWdlU2hvdWxkQmVQdXRPbnRvVGhlU2NyZWVuID0gNTUKdGhpc0Z1bmN0aW9uU2hvdWxkUnVuID0gMTIKdGVuUGx1c1RocmVlID0gMTMKCgpwdXRNZXNzYWdlT250b1NjcmVlblVzaW5nVGV4dCA9IGZ1bmN0aW9uKHNob3VsZFB1dE1lc3NhZ2VPbnRvU2NyZWVuVXNpbmdUZXh0LCBob3dMb25nSXNUaGVNZXNzYWdlLCB0aGVUZXh0VG9QdXRPbnRvVGhlU2NyZWVuKQogICAgaWYgc2hvdWxkUHV0TWVzc2FnZU9udG9TY3JlZW5Vc2luZ1RleHQgPT0gdGhlTWVzc2FnZVNob3VsZEJlUHV0T250b1RoZVNjcmVlbiB0aGVuCiAgICAgICAgZm9yIHRoZUNoYXJhY3RlcldlQXJlUHV0dGluZ09udG9UaGVTY3JlZW4gPSA1MSwgaG93TG9uZ0lzVGhlTWVzc2FnZSArIDUwIGRvCiAgICAgICAgICAgIGlmIHRoZVRleHRUb1B1dE9udG9UaGVTY3JlZW4uY2hhcmFjdGVyc09mVGV4dFRoYXRXZVdhbnRUb1B1dE9uVGhlU2NyZWVuW3RoZUNoYXJhY3RlcldlQXJlUHV0dGluZ09udG9UaGVTY3JlZW4gLSA1MF1bMl0gPT0gdGhpc0xldHRlclNob3VsZEJlQ2FwaXRvbGl6ZWQgdGhlbgogICAgICAgICAgICAgICAgaW8ud3JpdGUoc3RyaW5nLnVwcGVyKHN0cmluZy5jaGFyKHRoZVRleHRUb1B1dE9udG9UaGVTY3JlZW4uY2hhcmFjdGVyc09mVGV4dFRoYXRXZVdhbnRUb1B1dE9uVGhlU2NyZWVuW3RoZUNoYXJhY3RlcldlQXJlUHV0dGluZ09udG9UaGVTY3JlZW4gLSA1MF1bMV0pKSkKICAgICAgICAgICAgZWxzZWlmIHRoZVRleHRUb1B1dE9udG9UaGVTY3JlZW4uY2hhcmFjdGVyc09mVGV4dFRoYXRXZVdhbnRUb1B1dE9uVGhlU2NyZWVuW3RoZUNoYXJhY3RlcldlQXJlUHV0dGluZ09udG9UaGVTY3JlZW4gLSA1MF1bMl0gPT0gdGhpc0xldHRlclNob3VsZE5vdEJlQ2FwaXRvbGl6ZWQgdGhlbgogICAgICAgICAgICAgICAgaW8ud3JpdGUoc3RyaW5nLmxvd2VyKHN0cmluZy5jaGFyKHRoZVRleHRUb1B1dE9udG9UaGVTY3JlZW4uY2hhcmFjdGVyc09mVGV4dFRoYXRXZVdhbnRUb1B1dE9uVGhlU2NyZWVuW3RoZUNoYXJhY3RlcldlQXJlUHV0dGluZ09udG9UaGVTY3JlZW4gLSA1MF1bMV0pKSkKICAgICAgICAgICAgZWxzZWlmIHRoZVRleHRUb1B1dE9udG9UaGVTY3JlZW4uY2hhcmFjdGVyc09mVGV4dFRoYXRXZVdhbnRUb1B1dE9uVGhlU2NyZWVuW3RoZUNoYXJhY3RlcldlQXJlUHV0dGluZ09udG9UaGVTY3JlZW4gLSA1MF1bMl0gPT0gdGhpc0lzTm90QUxldHRlckl0SXNBU3BlY2lhbENoYXJhY3RlciB0aGVuCiAgICAgICAgICAgICAgICBpby53cml0ZShzdHJpbmcuY2hhcih0aGVUZXh0VG9QdXRPbnRvVGhlU2NyZWVuLmNoYXJhY3RlcnNPZlRleHRUaGF0V2VXYW50VG9QdXRPblRoZVNjcmVlblt0aGVDaGFyYWN0ZXJXZUFyZVB1dHRpbmdPbnRvVGhlU2NyZWVuIC0gNTBdWzFdKSkKICAgICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICBlbmQKZW5kCgp0aGVIZWxsb1dvcmxkVGV4dFdlV2FudFRvUHV0T25UaGVTY3JlZW4gPSB7CiAgICBjaGFyYWN0ZXJzT2ZUZXh0VGhhdFdlV2FudFRvUHV0T25UaGVTY3JlZW4gPSB7CiAgICAgICAgWzFdID0gezEwNCwgdGhpc0xldHRlclNob3VsZEJlQ2FwaXRvbGl6ZWR9LAogICAgICAgIFsyXSA9IHsxMDEsIHRoaXNMZXR0ZXJTaG91bGROb3RCZUNhcGl0b2xpemVkfSwKICAgICAgICBbM10gPSB7MTA4LCB0aGlzTGV0dGVyU2hvdWxkTm90QmVDYXBpdG9saXplZH0sCiAgICAgICAgWzRdID0gezEwOCwgdGhpc0xldHRlclNob3VsZE5vdEJlQ2FwaXRvbGl6ZWR9LAogICAgICAgIFs1XSA9IHsxMTEsIHRoaXNMZXR0ZXJTaG91bGROb3RCZUNhcGl0b2xpemVkfSwKICAgICAgICBbNl0gPSB7NDQsIHRoaXNJc05vdEFMZXR0ZXJJdElzQVNwZWNpYWxDaGFyYWN0ZXJ9LAogICAgICAgIFs3XSA9IHszMiwgdGhpc0lzTm90QUxldHRlckl0SXNBU3BlY2lhbENoYXJhY3Rlcn0sCiAgICAgICAgWzhdID0gezExOSwgdGhpc0xldHRlclNob3VsZE5vdEJlQ2FwaXRvbGl6ZWR9LAogICAgICAgIFs5XSA9IHsxMTEsIHRoaXNMZXR0ZXJTaG91bGROb3RCZUNhcGl0b2xpemVkfSwKICAgICAgICBbMTBdID0gezExNCwgdGhpc0xldHRlclNob3VsZE5vdEJlQ2FwaXRvbGl6ZWR9LAogICAgICAgIFsxMV0gPSB7MTA4LCB0aGlzTGV0dGVyU2hvdWxkTm90QmVDYXBpdG9saXplZH0sCiAgICAgICAgWzEyXSA9IHsxMDAsIHRoaXNMZXR0ZXJTaG91bGROb3RCZUNhcGl0b2xpemVkfSwKICAgICAgICBbMTNdID0gezQ2LCB0aGlzSXNOb3RBTGV0dGVySXRJc0FTcGVjaWFsQ2hhcmFjdGVyfSwKICAgIH0sCn0KCnRoZUZ1bmN0aW9uVGhhdFJ1bnNXaGVuVGhlUHJvZ3JhbUlzU3RhcnRlZCA9IGZ1bmN0aW9uKHNob3VsZFRoaXNGdW5jdGlvblJ1bikKICAgIGlmIHNob3VsZFRoaXNGdW5jdGlvblJ1biA9PSB0aGlzRnVuY3Rpb25TaG91bGRSdW4gdGhlbgogICAgICAgIHB1dE1lc3NhZ2VPbnRvU2NyZWVuVXNpbmdUZXh0KHRoZU1lc3NhZ2VTaG91bGRCZVB1dE9udG9UaGVTY3JlZW4sIHRlblBsdXNUaHJlZSwgdGhlSGVsbG9Xb3JsZFRleHRXZVdhbnRUb1B1dE9uVGhlU2NyZWVuKQogICAgZW5kCmVuZAoKdGhlRnVuY3Rpb25UaGF0UnVuc1doZW5UaGVQcm9ncmFtSXNTdGFydGVkKHRoaXNGdW5jdGlvblNob3VsZFJ1bikK