From WikiChip
Editing mirc/variables

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 293: Line 293:
 
   [ [ $var(static. $+ %dynamic1 $+ %dynamic2,1) ] ]
 
   [ [ $var(static. $+ %dynamic1 $+ %dynamic2,1) ] ]
 
   etc..
 
   etc..
 
 
  
 
2. Using $eval
 
2. Using $eval
  
You can also get the value of a dynamic variable by using {{mIRC|$eval}}.
+
You can also get the value of a dynamic variable by using {{mIRC|$eval}}, $eval allows you to force an expression to evaluate more than once, a bit like the brackets [ ], but brackets are meant to alter the order of evaluation of a line, which itself can have its own drawbacks.
 
 
$eval allows you to force an expression to evaluate more than once, a bit like the brackets [ ], but brackets are meant to alter the order of evaluation of a line, which itself can have its own drawbacks.
 
 
 
 
<syntaxhighlight lang="mirc">$eval($+(%,<static>,<dynamic>),2)</syntaxhighlight>From our earlier example:
 
<syntaxhighlight lang="mirc">$eval($+(%,<static>,<dynamic>),2)</syntaxhighlight>From our earlier example:
 
<syntaxhighlight lang="mirc">var %color = %color. [ $+ [ $2 ] ]</syntaxhighlight>
 
<syntaxhighlight lang="mirc">var %color = %color. [ $+ [ $2 ] ]</syntaxhighlight>
 
is the same as
 
is the same as
 
<syntaxhighlight lang="mirc">var %color = $eval($+(%,color.,$2),2)</syntaxhighlight>$+(%,color.,$2) will produce the plain text "%color.John", and that is then evaluated a second time (the 2 in $eval(,2)) to produce the value of the variable just like usual. Note that with the brackets method, you also get a double evaluation, but they happen at a different levels.
 
<syntaxhighlight lang="mirc">var %color = $eval($+(%,color.,$2),2)</syntaxhighlight>$+(%,color.,$2) will produce the plain text "%color.John", and that is then evaluated a second time (the 2 in $eval(,2)) to produce the value of the variable just like usual. Note that with the brackets method, you also get a double evaluation, but they happen at a different levels.
 
This method is easier to read/handle than the bracket, you can simply get the plain text variable you want with $+(), and then you evaluate that twice to get the content of the variable, this method is recommended, but note that it's a bit slower than the bracket.
 
  
 
'''Note''': $eval is often used in the simple form $()
 
'''Note''': $eval is often used in the simple form $()

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)