TL;DR: ==KM Tokens are like functions, which return a value==.
(see comparison with Excel functions at bottom of thread).
Discussion
I have to disagree with Tom. IMO, it is misleading to think of "Tokens" as variables, because the very word "variable" means something that can vary. Especially in the programming world, "variables" are programming objects that the programmer can set to some arbitrary value (within typing rules). As Tom then mentioned, the KM user can NOT set a KM Token to some arbitrary value.
IMO, ==KM "Tokens" are best thought of as "functions"==, which always return a value specific to that Token. Some KM Tokens even allow for parameters, just like classical functions. In KM, the name of the Token is the name of the function.
Definition of Function
Here's one clear definition of "function" in software:
A function is a group of instructions, also known as a named procedure, used by programming languages to return a single result or a set of results.
Excel Functions
Even better, I suspect that most of you are familiar with Excel (or other spreadsheet app). In Excel, the spreadsheet cells act like "variables", and you can call any of the built-in functions that Excel provides:
Excel functions are designed to provide one word access to a series of operations. There are several dozen functions and they are organized according to their purposes. For example, in the excel formula " =SUM(A1:A10) ," a function that adds all the numbers in the range of cells specified in the formula.
So, Excels function SUM(A1:A2)
works in much the same way as
KM's Token %Calculate%myVarA1 + myVarA2%
I hope this helps. If anyone has questions about this, please feel free to ask.