Posted to tcl by aspect at Fri Mar 14 13:21:19 GMT 2014view raw

  1. set key {/foo/[bar]/baz}
  2. # equivalent:
  3. # set key "/foo\[bar\]/baz"
  4. # or even:
  5. # set key /foo\[bar\]/baz
  6.  
  7. set globKey {/foo/\[bar\]/baz}
  8. # equivalent:
  9. # set globKey "/foo/\\\[bar\\\]/baz"
  10. # set globKey /foo/\\\[bar\\\]/baz
  11.  
  12. dict set d ignore me
  13. dict set d $key "Hello, world"
  14. dict set d "a${key}b" "Hello again"
  15.  
  16. puts "key = $key"
  17. puts "globKey = $globKey"
  18. puts "d = $d"
  19.  
  20. puts "\[dict get \$d \$key\] = [dict get $d $key]"
  21.  
  22. puts "\[dict filter \$d key \$globKey\] = [dict filter $d key $globKey]"
  23.  
  24. # these two are the same, because you can elide "" for a single word:
  25. puts "\[dict filter \$d key *\$globKey*\] = [dict filter $d key *$globKey*]"
  26. puts "\[dict filter \$d key \"*\$globKey*\"\] = [dict filter $d key "*$globKey*"]"