Macro cli_toolbox::eval [−][src]
macro_rules! eval { (QUITE $expr : expr) => { ... }; (TERSE $expr : expr) => { ... }; (VERBOSE $expr : expr) => { ... }; (TERSE $terse_block : block VERBOSE $verbose_block : block) => { ... }; (TERSE $terse_expr : expr, VERBOSE $verbose_expr : expr) => { ... }; (TERSE $terse_block : block VERBOSE $verbose_expr : expr) => { ... }; (TERSE $terse_expr : expr, VERBOSE $verbose_block : block) => { ... }; }
Expand description
The eval! macro provides conditional code evaluation according to Verbosity level.
Features
-
you can evaluate code according to level of verbosity, i.e.
Quite,TerseorVerbose -
all
Terseevaluations will also evaluate if the level is set toVerbose -
you can choose unique code evaluations for
TerseorVerboseindividually
Basic Examples
- evaluates if
VerbosityisQuite
eval! { QUITE foo() }
- evaluates if
VerbosityisTerseorVerbose
eval! { TERSE foo() }
- evaluates if
VerbosityisVerbose
eval! { VERBOSE foo() }
Terse or Verbose Examples
These examples evaluate conditionally based on Verbosity level.
- terse or verbose code blocks
eval! { TERSE { foo(); } VERBOSE { junk(); } }
- terse or verbose expressions
eval! { TERSE foo(), VERBOSE junk() }
- terse expression or verbose block
eval! { TERSE foo(), VERBOSE { junk(); } }
- terse block or verbose expression
eval! { TERSE { foo(); } VERBOSE junk() }