#let directive

#let binds an identifier with some value evaluated from the given text. Any time you use the identifier in an expression, the value is substituted.

#let is different from #def in that evaluation of the given text occurs immediately. With #def, the expression is saved; with #let, the expression is evaluated and value is saved.

Examples

#let x 42
#let y ${x + 5}
#def z ${x + 5}

#let x 0

${y} // Gives 47
${z} // Gives 5