2 '\" Copyright (c
) 1993 The Regents of the University of California
.
3 '\" Copyright (c) 1994-1997 Sun Microsystems, Inc.
5 '\" See the file "license.terms" for information on usage and redistribution
6 '\" of
this file
, and for a DISCLAIMER OF ALL WARRANTIES
.
8 '\" RCS
: @
(#) $Id: for.n,v 1.2 2003/11/24 05:09:59 bbbush Exp $
10 '\" The definitions below are
for supplemental macros used
in Tcl
/Tk
13 '\" .AP type name in/out ?indent?
14 '\" Start paragraph describing an argument to a library procedure
.
15 '\" type is type of argument (int, etc.), in/out is either "in", "out",
16 '\" or
"in/out" to describe whether procedure reads or modifies arg
,
17 '\" and indent is equivalent to second arg of .IP (shouldn't ever be
18 '\" needed; use .AS below instead)
21 '\" Give maximum sizes of arguments
for setting tab stops
. Type
and
22 '\" name are examples of largest possible arguments that will be passed
23 '\" to
.AP later
. If args are omitted
, default tab stops are used
.
26 '\" Start box enclosure. From here until next .BE, everything will be
27 '\" enclosed
in one large box
.
30 '\" End of box enclosure.
33 '\" Begin code excerpt
.
38 '\" .VS ?version? ?br?
39 '\" Begin vertical sidebar
, for use
in marking newly
-changed parts
40 '\" of man pages. The first argument is ignored and used for recording
41 '\" the version
when the
.VS was added
, so that the sidebars can be
42 '\" found and removed when they reach a certain age. If another argument
43 '\" is present
, then a line break is forced before starting the sidebar
.
46 '\" End of vertical sidebar.
49 '\" Begin an indented unfilled display
.
52 '\" End of indented unfilled display.
55 '\" Start of
list of standard options
for a Tk widget
. The
56 '\" options follow on successive lines, in four columns separated
60 '\" End of list of standard options for a Tk widget.
62 '\" .OP cmdName dbName dbClass
63 '\" Start of description of a specific option
. cmdName gives the
64 '\" option's name
as specified
in the
class command
, dbName gives
65 '\" the option's name
in the option database
, and dbClass gives
66 '\" the option's
class in the option database
.
69 '\" Print arg1 underlined, then print arg2 normally.
71 '\" RCS: @(#) $Id: for.n,v 1.2 2003/11/24 05:09:59 bbbush Exp $
73 '\" # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
77 '\" # Start an argument description
81 . ie !"\\$2
"" .TP
\\n()Cu
86 \&\\$1 \\fI\\$2\\fP (\\$3)
99 '\" # define tabbing values for .AP
102 .if !"\\$1"" .nr )A \\w'\\$1
'u+3n
105 .if !"\\$2"" .nr )B \\w'\\$2
'u+\\n()Au+3n
106 .nr )C \\n()Bu+\\w'(in/out)'u+2n
108 .AS Tcl_Interp Tcl_CreateInterp in/out
109 '\" # BS - start boxed text
110 '\" # ^y = starting y location
118 .if n \l
'\\n(.lu\(ul'
121 '\" # BE - end boxed text (draw box now)
126 .ie n \l'\\n(^lu\
(ul
'
128 .\" Draw four-sided box normally, but don't draw top of
129 .\" box
if the box started on an earlier page
.
131 \h
'-1.5n'\L
'|\\n(^yu-1v'\l
'\\n(^lu+3n\(ul'\L
'\\n(^tu+1v-\\n(^yu'\l
'|0u-1.5n\(ul'
134 \h
'-1.5n'\L
'|\\n(^yu-1v'\h
'\\n(^lu+3n'\L
'\\n(^tu+1v-\\n(^yu'\l
'|0u-1.5n\(ul'
141 '\" # VS - start vertical sidebar
142 '\" # ^Y = starting y location
143 '\" # ^v = 1 (for troff; for nroff this doesn't matter
)
147 .ie n 'mc \s12\(br\s0
150 '\" # VE - end of vertical sidebar
158 \h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
165 '\" # Special macro to handle page bottom: finish off current
166 '\" # box/sidebar if in box/sidebar mode, then invoked standard
167 '\" # page bottom macro.
174 .\" Draw three-sided box if this is the box's first page,
175 .\" draw two sides but no top otherwise.
176 .ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
177 .el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
180 .nr ^x \\n(^tu+1v-\\n(^Yu
181 \kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
194 '\" # DS - begin display
200 '\" # DE - end display
206 '\" # SO - start of list of standard options
208 .SH "STANDARD OPTIONS
"
214 '\" # SE - end of list of standard options
219 See the \\fBoptions\\fR manual entry for details on the standard options.
221 '\" # OP - start of full description for a single option
226 Command-Line Name: \\fB\\$1\\fR
227 Database Name: \\fB\\$2\\fR
228 Database Class: \\fB\\$3\\fR
232 '\" # CS - begin code excerpt
238 '\" # CE - end code excerpt
246 .TH for n "" Tcl "Tcl Built
-In Commands
"
248 '\" Note: do not modify the .SH NAME line immediately below!
252 \fBfor \fIstart test next body\fR
257 \fBFor\fR 是一个循环命令,在结构上类似与 C 语言的 \fBfor\fR语句。\fIstart\fR、\fInext\fR、和\fIbody\fR 参数必须是 Tcl 命令串,而 \fItest\fR 是一个表达式串。\fBfor\fR 命令首先调用 Tcl 解释器来执行 \fIstart\fR。接着它重复的把 \fItest\fR作为一个表达式来求值;如果结果是非零则它在 \fIbody \fR上调用 Tcl 解释器,接着在 \fInext \fR上调用 Tcl 解释器,接着重复这个循环。在 \fItest\fR 被求值为 0 的时候命令终止。如果\fIbody\fR 中调用了 \fBcontinue\fR 命令则在 \fIbody\fR 的当前执行中的所有剩余的命令都被跳过;处理继续,在 \fInext \fR上调用 Tcl 解释器,接着对 \fItest \fR求值。 等等. 如果在 \fIbody\fR 或 \fInext \fR中调用 \fBbreak\fR 命令,则 \fBfor\fR 命令将立即返回。\fBbreak\fR 和 \fBcontinue\fR 命令的操作类似于在 C 语言中相应的语句。\fBFor\fR 返回一个空串。
259 注意: \fItest\fR 应当总是在花括号中包围着。如果不是这样,在 \fBfor\fR 命令开始之前就作了变量替换,这意味着在循环体中做的变量变更在表达式中将不被考虑。将导致一个无限循环。如果 \fItest\fR 被包围在花括号中,变量替换将延迟,直到表达式求值(在每次循环重复之前),所以变量的变更将是可见的。例如,尝试在 \fB$x<10\fR 周围有和没有一对花括号的下列脚本:
261 for {set x 0} {$x<10} {incr x} {
267 break, continue, foreach, while
270 for, iteration, looping
276 .SH "《中国 Linux 论坛 man 手册页翻译计划》
:"
277 .BI http://cmpp.linuxforum.net