Posted to tcl by mjanssen at Mon Sep 16 07:20:45 GMT 2013view raw

  1. proc my_mrange {a b args} {
  2. set result {}
  3. for {set i $a} {$i <= $b} {incr i} {
  4. if {[llength $args]%2==0 && $args ne {}} {
  5. foreach item [my_mrange {*}$args] {
  6. lappend result $i {*}$item
  7. }
  8. } else {
  9. lappend result $i
  10. }
  11. }
  12. return $result
  13. }