2013-06-17 17 views
5

widzę następujące w skrypcie Tcl:Swoisty Tcl składnia

If { <some_condition> } { 
    // code here... 
} { 
    // code here... 
} 

jestem przy założeniu, że jest to szczególny przypadek if-else składni? Chciałbym tylko uzyskać potwierdzenie.

+0

BTW "//" nie powoduje komentarza w tcl. w rzeczywistości jest to błąd składniowy. Nie wyłupiać, ale inni ludzie mogą mieć zły pomysł. ... użyj # zamiast – Cjolly

Odpowiedz

8

Jest to w istocie zmiana na składnię if - else; else jest opcjonalny (podobnie jak then, który praktycznie pomija każdy, ale lubię go używać, gdy mam przed nim wyrażenie wieloliniowe). Zazwyczaj dobrym pomysłem jest włączenie go, ponieważ jest on mniej mylący, ale nie jest potrzebny.

tylko „słowa kluczowe” w if składni, które są obowiązkowe są if (można rename, ale byłoby przełamać różne rzeczy) i elseif (dla dodatkowych kontroli warunek).

+1

Zawsze czekam na Twoją autorytatywną odpowiedź, gdy mam pytanie Tcl: P – czchlong

+0

@czchlong Mam _nie_ zawsze mam odpowiedź! (A czasami muszę spać lub pracować ...) –

3

Z if(n) manpage:

jeżeliwyr1? następnie? body1elseifexpr2? następnie? body2elseif ...? else? ? bodyN?

W dokumentacji tcl użyto ?else?, aby wskazać, że argument jest opcjonalny. Dalej, to bardziej wyraźnie mówi:

W następnie i else argumenty są opcjonalne słowa ignorowane, aby komenda łatwiejsze do odczytania.