Version 2 of Toggling a Boolean Variable

Updated 2002-11-06 09:56:52

proc toggle {v} {

  uplevel [concat set $v \[expr \[set $v\] ^ 1\]]
 }

 % set state 0
 0
 % toggle state
 1
 % toggle state
 0

RS has this alternative:

 proc toggle varName {
     upvar 1 $varName var
     set var [expr {!$var}]
 }

Category Example