tcl
Konstrukcje językowe Tcl
Szukaj…
Składnia
- # To jest poprawny komentarz
- # To jest poprawny {komentarz}
Umieszczanie komentarzy
Komentarze w Tcl najlepiej traktować jako kolejne polecenie.
Komentarz składa się z # po którym następuje dowolna liczba znaków do następnego nowego wiersza. Komentarz może pojawić się wszędzie tam, gdzie można umieścić polecenie.
# this is a valid comment
proc hello { } {
# the next comment needs the ; before it to indicate a new command is
# being started.
puts "hello world" ; # this is valid
puts "dlrow olleh" # this is not a valid comment
# the comment below appears in the middle of a string.
# is is not valid.
set hw {
hello ; # this is not a valid comment
world
}
gets stdin inputfromuser
switch inputfromuser {
# this is not a valid comment.
# switch expects a word to be here.
go {
# this is valid. The switch on 'go' contains a list of commands
hello
}
stop {
exit
}
}
}
Nawiasy klamrowe w komentarzach
Ze względu na sposób działania parsera języka Tcl nawiasy klamrowe w kodzie muszą być odpowiednio dopasowane. Obejmuje to nawiasy klamrowe w komentarzach.
proc hw {} {
# this { code will fail
puts {hello world}
}
Brakujący nawias klamrowy: zostanie wyrzucony możliwy niezrównoważony nawias klamrowy w komentarzu .
proc hw {} {
# this { comment } has matching braces.
puts {hello world}
}
Działa to, gdy nawiasy klamrowe są prawidłowo sparowane.
Cytowanie
W języku Tcl w wielu przypadkach nie jest wymagane specjalne cytowanie.
Oto poprawne ciągi:
abc123
4.56e10
my^variable-for.my%use
Język Tcl dzieli słowa na białe znaki, więc wszelkie literały lub ciągi znaków z białymi znakami powinny być cytowane. Istnieją dwa sposoby cytowania ciągów. Z nawiasami klamrowymi i znakami cudzysłowu.
{hello world}
"hello world"
Podczas cytowania z nawiasami klamrowymi nie są wykonywane żadne podstawienia. Osadzone nawiasy klamrowe mogą być poprzedzane odwrotnym ukośnikiem, ale należy pamiętać, że ukośnik odwrotny jest częścią ciągu.
% puts {\{ \}}
\{ \}
% puts [string length {\{ \}}]
5
% puts {hello [world]}
hello [world]
% set alpha abc123
abc123
% puts {$alpha}
$alpha
Podczas cytowania z podwójnymi cudzysłowami przetwarzane są podstawienia poleceń, odwrotnego ukośnika i zmiennych.
% puts "hello [world]"
invalid command name "world"
% proc world {} { return my-world }
% puts "hello [world]"
hello my-world
% puts "hello\tworld"
hello world
% set alpha abc123
abc123
% puts "$alpha"
abc123
% puts "\{ \}"
{ }