proc example { first { second "" } args} {
if { $second eq "" } {
puts "There is only one argument and it is: $first"
return 1
} else {
if { $args eq "" } {
puts "There are two arguments - $first and $second"
return 2
} else {
puts "There are many arguments - $first and $second and $args"
return "many"
}
}
}
set count1 [ example ONE]
set count2 [ example ONE TWO]
set count3 [ example ONE TWO THREE ]
set count4 [ example ONE TWO THREE FOUR]
puts "The example was called with $count1, $count2, $count3, and $count4 Arguments"
cHJvYyBleGFtcGxlIHtmaXJzdCB7c2Vjb25kICIifSBhcmdzfSB7CiAgICBpZiB7JHNlY29uZCBlcSAiIn0gewogICAgICAgIHB1dHMgIlRoZXJlIGlzIG9ubHkgb25lIGFyZ3VtZW50IGFuZCBpdCBpczogJGZpcnN0IgogICAgICAgIHJldHVybiAxCiAgICB9IGVsc2UgewogICAgICAgIGlmIHskYXJncyBlcSAiIn0gewogICAgICAgICAgICBwdXRzICJUaGVyZSBhcmUgdHdvIGFyZ3VtZW50cyAtICRmaXJzdCBhbmQgJHNlY29uZCIKICAgICAgICAgICAgcmV0dXJuIDIKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwdXRzICJUaGVyZSBhcmUgbWFueSBhcmd1bWVudHMgLSAkZmlyc3QgYW5kICRzZWNvbmQgYW5kICRhcmdzIgogICAgICAgICAgICByZXR1cm4gIm1hbnkiCiAgICAgICAgfQogICAgfQp9CgpzZXQgY291bnQxIFtleGFtcGxlIE9ORV0Kc2V0IGNvdW50MiBbZXhhbXBsZSBPTkUgVFdPXQpzZXQgY291bnQzIFtleGFtcGxlIE9ORSBUV08gVEhSRUUgXQpzZXQgY291bnQ0IFtleGFtcGxlIE9ORSBUV08gVEhSRUUgRk9VUl0KCnB1dHMgIlRoZSBleGFtcGxlIHdhcyBjYWxsZWQgd2l0aCAkY291bnQxLCAkY291bnQyLCAkY291bnQzLCBhbmQgJGNvdW50NCBBcmd1bWVudHMiCg==