fork download
  1. proc parsedict {args} {
  2.  
  3. if {[catch {dict size $args} result]} {
  4. puts "err $result"
  5. } else {
  6. puts "size=$result"
  7. set n 0
  8. foreach key [dict keys $args] {
  9. puts key$n=$key
  10. incr n
  11. }
  12. set n 0
  13. foreach value [dict values $args] {
  14. puts value$n=$value
  15. incr n
  16. }
  17. }
  18. }
  19.  
  20. parsedict -name "name with spaces" -value 3 -color {-type enum -values {red blue green}}
  21.  
Success #stdin #stdout 0.03s 5272KB
stdin
Standard input is empty
stdout
size=3
key0=-name
key1=-value
key2=-color
value0=name with spaces
value1=3
value2=-type enum -values {red blue green}