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
,Terse
orVerbose
-
all
Terse
evaluations will also evaluate if the level is set toVerbose
-
you can choose unique code evaluations for
Terse
orVerbose
individually
Basic Examples
- evaluates if
Verbosity
isQuite
eval! { QUITE foo() }
- evaluates if
Verbosity
isTerse
orVerbose
eval! { TERSE foo() }
- evaluates if
Verbosity
isVerbose
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() }