0

わかりました、tcl スクリプトで奇妙なエラーが発生しました。これは作業コードです:

foreach param $bucket {
if {[lindex $param 0] == "bucketState" &&\
  ([lindex $param 1] == "provisioned" ||\
  [lindex $param 1] == "Active")} {
  set activatedFlag "TRUE"
 }
}

そして、これはそうではありません:

foreach param $bucket {
if {[lindex $param 0] == "bucketState" &&\
  ([lindex $param 1] == "provisioned" ||\
  [lindex $param 1] == "active")} {
  set activatedFlag "TRUE"
 }
}

唯一の違いは、「アクティブ」と「アクティブ」です。O_o

4

1 に答える 1

0

どのようなエラーが発生しているのかはわかりませんが、比較しているリスト要素が大文字と小文字を区別していることは明らかです。大文字と小文字を区別しない検索が必要な場合は、 string tolowerを使用しますが、なぜそうする必要があるのか​​、私にはよくわかりません。

foreach param $bucket {
if {[lindex $param 0] == "bucketState" && \
  ([lindex $param 1] == "provisioned" || \
  [string tolower [lindex $param 1]] == "active")} {
  set activatedFlag "TRUE"
 }
}
于 2013-05-16T09:18:09.547 に答える