home *** CD-ROM | disk | FTP | other *** search
/ Practical Programming in Tcl & Tk (4th Edition) / TCLBOOK4.BIN / pc / exsource.old / 14_2.tcl < prev    next >
Text File  |  2003-04-15  |  459b  |  24 lines

  1. #
  2. # Example 14-2
  3. # Random number generator using qualified names.
  4. #
  5.  
  6. namespace eval random {
  7.     # Create a variable inside the namespace
  8.     variable seed [clock seconds]
  9. }
  10. # Create procedures inside the namespace
  11. proc random::init { seed } {
  12.     set ::random::seed $seed
  13. }
  14. proc random::random {} {
  15.     variable seed
  16.     set seed [expr {($seed*9301 + 49297) % 233280}]
  17.     return [expr {$seed/double(233280)}]
  18. }
  19. proc random::range { range } {
  20.     expr {int([random]*$range)}
  21. }
  22.  
  23.  
  24.