Provided by:
manpages-zh_1.5.1-1_all 
NAME
switch - 依據一茧鼎w的鵀h蚑Z本中的一荈i行求
` SYNOPSIS
switch ?options? string pattern body ?pattern body ...?
switch ?options? string {pattern body ?pattern body ...?}
_________________________________________________________________
yz DESCRIPTION
switch 命令依次針對每 pattern (模式)參數匹配它的 string
參數。如果它發現一 pattern 匹配 string,則立即通過把跟隨在(這蚍狾)後-
悸 body 參數遞歸的傳遞給 Tcl 解釋器來求式A並返回這次求-
熊痕G。如果最後的 pattern 參數是
default,則它匹配所有的東西。如果沒有 pattern 參數匹配 string
並且沒有給出預設,則 switch 命令返回一茠臟瞗C
如果給 switch 的最初的參數以 - 開始,則它-
抭Q作為選項來對待。當前支持下列選項:
-exact 當與一蚍狾﹞騆 string 的時唌A使用精確匹配。這是預設的。
-glob 當與一蚍狾﹞騆 string 的時唌A使用通配符式樣的匹配(與 string
match 命令所實現的相同)。
-regexp 當與一蚍狾﹞騆 string 的時唌A使用正則表達式匹配(在 re_syntax
參考隊仍yz)。
-- 選項結束的標誌。此後的參數即使以 - 開始仍被作為 string
來對待。
為 pattern 和 body 參數提供了兩蚖y法。第一茯O對於每蚍狾〝M命令使用一-
蚇W立的參數;如果在一些模式或命令上需-
n替換,則這種形式是很方便的。第二種形式是把所有的模式和命令放在一起作為一-
茬璊@的參數;這-
荌捊眸椰野蕭T的列表結構,它的元素是模式和命令。第二種形式適合於構造多行
switch 命令,因為花括號包圍著所有元素,所以沒有必n在每行結束之處包含一-
茪炱袟b。 在第二種形式中因為 pattern參數在花括號中,所以在它-
怳W不進行命令和變量替換;這使得第二種形式的行為在一些情況下與第一種形式不同。
如果指定一 body 為``-'',則意味著給下一蚍狾〞 body 也被用於這-
蚍狾(如果下一蚍狾﹞]有一荌鶡磎憿u-」則使用它後悸熙o-
荌鶡磎憿A以此類推)。這荅S征使在多蚍狾﹞孜’@享一茬璊@的 body 成為可能。
在 switch 命令放置注釋n注意。注釋只能放置在一-
蚍狾〞滌鶡磎擗丑A而不能與模式混合。
下惇O switch 命令的一些例子:
switch abc a - b {format 1} abc {format 2} default {format 3}
將返回 2,
switch -regexp aaab {
^a.*b$ -
b {format 1}
a* {format 2}
default {format 3}
}
將返回 1, 而
switch xyz {
a
-
b
{
# Correct Comment Placement
format 1
}
a*
{format 2}
default
{format 3}
}
將返回 3.
SEE ALSO
for(n), if(n), regexp(n)
r KEYWORDS
switch, match, regular expression
[]
Hhh
[]
2001/11/15
m Linux manUpn:
http://cmpp.linuxforum.net