Manpages

NAME

while - 在 条 件 满 足 时 重 复 的 执 行 脚 本

总 览

while test body

描 述

while 命 令 把 test 作 为 一 个 表 达 式 来 求 值 (用 与 expr 求 它 的 参 数 的 值 相 同 的 方 式 )。 这 个 表 达 式 的 值 必 须 是 一 个 正 确 的 boolean 值 ; 如 果 它 是 真 值 则 把 body 传 递 给 Tcl 解 释 器 来 执 行 它 。 一 旦 执 行 了 body 则 再 次 求 值 test , 并 重 复 处 理 直 到 最 终 test 求 值 出 一 个 假 boolean 值 。 可 以 在 body 中 执 行 Continue 命 令 来 终 止 这 个 循 环 的 当 前 重 复 操 作 (iteration), 并 可 以 在 body 中 执 行 break 命 令 来 导 致 while 命 令 立 即 终 止 。 while 命 令 总 是 返 回 一 个 空 串 。 注 意 : test 应 该 总 是 包 围 在 花 括 号 中 。 如 果 不 是 , 在 while 命 令 开 始 执 行 之 前 将 进 行 变 量 替 换 , 这 意 味 着 循 环 体 所 做 的 变 量 变 更 将 不 考 虑 在 这 个 表 达 式 中 。 这 将 很 可 能 导 致 无 限 循 环 。 如 果 test 被 包 围 在 花 括 号 中 , 变 量 替 换 被 推 迟 到 求 值 这 个 表 达 式 的 时 候 (在 每 次 循 环 重 复 操 作 之 前 ), 所 以 变 量 的 变 化 将 是 可 见 的 。 例 如 , 尝 试 下 列 脚 本 并 在 $x<10 两 边 分 别 加 上 和 不 加 花 括 号 :

set x 0
while {$x<10} {

puts "x is $x"

incr x }

关 键 字

boolean 值 , 循 环 , 测 试 , while

作 者

Copyright (C) 1993 The Regents of the University of California.
Copyright (C) 1994-1997 Sun Microsystems, Inc.
Copyright (C) 1995-1997 Roger E. Critchlow Jr.

[中 文 版 维 护 人 ]

寒 蝉 退 士

[中 文 版 最 新 更 新 ]

2001/11/20

《 中 国 Linux 论 坛 man 手 册 页 翻 译 计 划 》 :

http://cmpp.linuxforum.net

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh