Posted to tcl by mr_calvin at Fri Nov 24 13:26:21 GMT 2017view raw

  1. set a "(1 && 1)"
  2. set b "(1 || 0)"
  3. set c "(0 || 0)"
  4.  
  5. set e [subst -nocommands {
  6. ($a ? 1 : [return -code error "a failed!"]) &&
  7. ($b ? 1 : [return -code error "b failed!"]) &&
  8. ($c ? 1 : [return -code error "c failed!"])
  9. }]
  10.  
  11. if {[catch {expr $e} msg]} {
  12. puts $msg
  13. }