for.n
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:3k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1993 The Regents of the University of California.
  3. '" Copyright (c) 1994-1997 Sun Microsystems, Inc.
  4. '"
  5. '" See the file "license.terms" for information on usage and redistribution
  6. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  7. '" 
  8. '" RCS: @(#) $Id: for.n,v 1.3.18.1 2004/10/27 12:52:40 dkf Exp $
  9. '" 
  10. .so man.macros
  11. .TH for n "" Tcl "Tcl Built-In Commands"
  12. .BS
  13. '" Note:  do not modify the .SH NAME line immediately below!
  14. .SH NAME
  15. for - ``For'' loop
  16. .SH SYNOPSIS
  17. fBfor fIstart test next bodyfR
  18. .BE
  19. .SH DESCRIPTION
  20. .PP
  21. fBForfR is a looping command, similar in structure to the C
  22. fBforfR statement.  The fIstartfR, fInextfR, and
  23. fIbodyfR arguments must be Tcl command strings, and fItestfR
  24. is an expression string.
  25. The fBforfR command first invokes the Tcl interpreter to
  26. execute fIstartfR.  Then it repeatedly evaluates fItestfR as
  27. an expression; if the result is non-zero it invokes the Tcl
  28. interpreter on fIbodyfR, then invokes the Tcl interpreter on fInextfR,
  29. then repeats the loop.  The command terminates when fItestfR evaluates
  30. to 0.  If a fBcontinuefR command is invoked within fIbodyfR then
  31. any remaining commands in the current execution of fIbodyfR are skipped;
  32. processing continues by invoking the Tcl interpreter on fInextfR, then
  33. evaluating fItestfR, and so on.  If a fBbreakfR command is invoked
  34. within fIbodyfR
  35. or fInextfR,
  36. then the fBforfR command will
  37. return immediately.
  38. The operation of fBbreakfR and fBcontinuefR are similar to the
  39. corresponding statements in C.
  40. fBForfR returns an empty string.
  41. .PP
  42. Note: fItestfR should almost always be enclosed in braces.  If not,
  43. variable substitutions will be made before the fBforfR
  44. command starts executing, which means that variable changes
  45. made by the loop body will not be considered in the expression.
  46. This is likely to result in an infinite loop.  If fItestfR is
  47. enclosed in braces, variable substitutions are delayed until the
  48. expression is evaluated (before
  49. each loop iteration), so changes in the variables will be visible.
  50. See below for an example:
  51. .SH EXAMPLES
  52. Print a line for each of the integers from 0 to 10:
  53. .CS
  54. for {set x 0} {$x<10} {incr x} {
  55.    puts "x is $x"
  56. }
  57. .CE
  58. .PP
  59. Either loop infinitely or not at all because the expression being
  60. evaluated is actually the constant, or even generate an error!  The
  61. actual behaviour will depend on whether the variable fIxfR exists
  62. before the fBforfR command is run and whether its value is a value
  63. that is less than or greater than/equal to ten, and this is because
  64. the expression will be substituted before the fBforfR command is
  65. executed.
  66. .CS
  67. for {set x 0} $x<10 {incr x} {
  68.    puts "x is $x"
  69. }
  70. .CE
  71. .PP
  72. Print out the powers of two from 1 to 1024:
  73. .CS
  74. for {set x 1} {$x<=1024} {set x [expr {$x * 2}]} {
  75.    puts "x is $x"
  76. }
  77. .CE
  78. .SH "SEE ALSO"
  79. break, continue, foreach, while
  80. .SH KEYWORDS
  81. for, iteration, looping