Posted to tcl by dkf at Mon Nov 12 09:16:11 GMT 2007view raw

  1. Aspect create cache {
  2. aspect -before {
  3. my variable ValueCache
  4. set key [self target],$args
  5. if {[info exist ValueCache($key)]} {
  6. return $ValueCache($key)
  7. }
  8. } -variable result -after {
  9. return [set ValueCache($key) $result]
  10. }
  11. method flushCache {} {
  12. my variable ValueCache
  13. unset ValueCache
  14. # Skip the cacheing
  15. return -level 2 ""
  16. }
  17. }
  18. cache attach demo
  19.