Manpages

______________________________________________________________________________

NAME

foreach - 在 一 個 或 多 個 列 表 的 所 有 元 素 上 重 複

總 覽 SYNOPSIS

foreach varname list body
foreach
varlist1 list1 ?varlist2 list2 ...? body _________________________________________________________________

描 述 DESCRIPTION

foreach 命 令 實 現 一 個 循 環 , 在 這 裏 循 環 變 量 從 一 個 或 多 個 列 表 接 受 值 。 在 最 簡 單 的 情 況 下 , 這 裏 有 一 個 循 環 變 量 varname , 和 一 個 列 表 list, 它 是 要 賦 給 varname 的 值 的 一 個 列 表 。 body 參 數 是 一 個 Tcl 腳 本 。 對 於 list 的 每 個 元 素 (按 從 最 先 到 最 後 的 次 序 ), foreach 把 這 個 元 素 的 內 容 賦 給 varname, 如 同 使 用 lindex 命 令 提 取 元 素 一 樣 , 接 着 調 用 Tcl 解 釋 器 來 執 行 body。 在 一 般 的 情 況 下 , 這 裏 可 以 有 多 於 一 個 的 值 列 表 (例 如 , list1list2), 並 且 每 個 值 列 表 可 以 與 一 個 循 環 變 量 的 列 表 相 關 聯 。 (例 如 , varlist1varlist2)。 在 循 環 的 每 次 重 複 期 間 每 個 varlist 中 的 變 量 被 賦 與 相 應 的 list 中 的 連 續 的 值 。 在 每 個 list 中 的 值 按 從 最 先 到 最 後 的 次 序 被 使 用 , 並 且 每 個 值 被 準 確 的 使 用 一 次 。 循 環 重 複 的 總 數 足 夠 的 大 來 用 光 所 有 列 表 的 所 有 的 值 。 如 果 一 個 值 的 列 表 不 包 含 足 夠 元 素 , 供 給 每 次 重 複 中 的 每 個 循 環 變 量 , 則 給 遺 漏 的 元 素 使 用 空 值 。

breakcontinue 語 句 可 以 在 body 中 調 用 , 與 在 for 命 令 中 有 相 同 的 效 果 。 Foreach 返 回 一 個 空 串 。

範 例 EXAMPLES

下 面 的 循 環 使 用 i 和 j 作 爲 循 環 變 量 在 一 個 單 一 的 列 表 的 一 對 元 素 上 重 複 。 set x {} foreach {i j} {a b c d e f} {

lappend x $j $i } # The value of x is "b a d c f e" # There are 3 iterations of the loop. 下 一 個 循 環 使 用 i 和 j 在 兩 個 並 行 的 列 表 上 重 複 。 set x {} foreach i {a b c} j {d e f g} {
lappend x $i $j } # The value of x is "a d b e c f {} g" # There are 4 iterations of the loop. 在 下 面 例 子 中 組 合 了 兩 種 形 式 。 set x {} foreach i {a b c} {j k} {d e f g} {
lappend x $i $j $k } # The value of x is "a d e b f g c {} {}" # There are 3 iterations of the loop.

參 見 SEE ALSO

for(n), while(n), break(n), continue(n)

關 鍵 字 KEYWORDS

foreach, iteration, list, looping

[中 文 版 維 護 人 ]

寒 蟬 退 士

[中 文 版 最 新 更 新 ]

2001/08/05

《 中 國 Linux 論 壇 man 手 冊 頁 翻 譯 計 劃 》 :

http://cmpp.linuxforum.net

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh