From WikiChip
Editing mirc

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.

Latest revision Your text
Line 10: Line 10:
 
== Language Constructs ==
 
== Language Constructs ==
 
{{main|mirc/conditional_statements|mirc/while_loops|mirc/operators|l1=mSL If Statements|l2=mSL Looping Statements|l3=mSL Operators}}
 
{{main|mirc/conditional_statements|mirc/while_loops|mirc/operators|l1=mSL If Statements|l2=mSL Looping Statements|l3=mSL Operators}}
mSL is a unique programming language that is coded with just plain text.  Other programming languages are coded in plain text but they all require special syntax which require declaring plain text by putting quotes around it and text code that gets executed is declared being VERY specific about its nature. What I mean is '2010' (quoted) and 2010 (unquoted) are not equal in programming languages other than mSL because each letter, number, symbol is referenced by a number in a range from 1-127 for simple text. So the number 2 is assigned character number 50 (i know its a big number) and the zero is mapped to character number 48.  The digital mappings only go from 1 to 9 as 10 would be a combination of character 49 (one) and 48 (zero) or ONE then ZERO but NOT one & zero.  Conclusion, in mSL there is no quoting of strings and unquoted numbers they just work as you would expect.  As you can guess mSL has another idea for this dilemma and that is {{mirc|identifiers}} of which you can make your own and they usually return some <code>plain text</code> or returns nothing or does a <code>/halt</code> which stops your script from processing code any further than the identifiers <code>/halt</code> command.  If it is an <code>on event</code> happening then mSL still processes all script.mrc files.
+
mSL is a unique programming language that is coded with just plain text.  Other programming languages are coded in plain text but they all require special syntax which require declaring plain text by putting quotes around it and text code that gets executed is declared being VERY specific about its nature. What I mean is '2010' (quoted) and 2010 (unquoted) are not equal in programming languages other than mSL because each letter, number, symbol is referenced by a number in a range from 1-127 for simple text. So the number 2 is assigned character number 50 (i know its a big number) and the zero is mapped to character number 48.  The digital mappings only go from 1 to 9 as 10 would be a combination of character 49 (one) and 48 (zero) or one THEN zero but NOT one & zero.  In mSL the largest valid number wins the "greater-than is $true" comparison test.  In some programming languages even 100 is considered smaller than only 5 because the 1 is a lower digit, but not all programming languages work this way.  Conclusion, in mSL there is no quoting of strings and unquoted numbers they just work as you would expect so 5 is less-than 100 always.  As you can guess mSL has another idea for this dilemma and that is {{mirc|identifiers}} of which you can make your own and they usually return some <code>plain text</code> or returns nothing or does a <code>/halt</code> which stops your script from processing code any further than the identifiers <code>/halt</code> command.  If it is an <code>on event</code> happening then mSL still processes all script.mrc files.
  
 
Code is embedded among plain text and is evaluated to plain text. For example <code>One $calc(1+1) Three</code> The result will be <code>One 2 Three</code>.  The identifier is the $calc() code.  On the surface this may seem like it could result in many ambiguities, however in practice it works fairly fluidly with just a handful of problematic cases - some of which can be avoided.
 
Code is embedded among plain text and is evaluated to plain text. For example <code>One $calc(1+1) Three</code> The result will be <code>One 2 Three</code>.  The identifier is the $calc() code.  On the surface this may seem like it could result in many ambiguities, however in practice it works fairly fluidly with just a handful of problematic cases - some of which can be avoided.

Please note that all contributions to WikiChip may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see WikiChip:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)