Posted to tcl by bairui at Mon Jul 06 03:40:32 GMT 2015view pretty

oo::class create Commander
oo::define Commander {
  variable commands

  method foo {args} {
    puts "foo: $args"
  }

  method bar {args} {
    puts "bar: $args"
  }

  method unknown {args} {
    puts "Usage: app command \[options] args"
    puts "commands: foo, bar"
  }
}

[Commander create c] {*}$argv