tcl
Tcl Language Constructs
Sök…
Syntax
- # Detta är en giltig kommentar
- # Detta är en giltig {kommentar}
Placera kommentarer
Kommentarer i Tcl är bäst tänkta som ett annat kommando.
En kommentar består av ett # följt av valfritt antal tecken fram till nästa nyrad. En kommentar kan visas varhelst ett kommando kan placeras.
# 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
}
}
}
Hängslen i kommentarer
På grund av hur Tcl-språkpartraren fungerar, måste hängslen i koden matchas korrekt. Detta inkluderar hängslen i kommentarer.
proc hw {} {
# this { code will fail
puts {hello world}
}
En saknad stängning: eventuell obalanserad stag i kommentarfel kastas.
proc hw {} {
# this { comment } has matching braces.
puts {hello world}
}
Detta fungerar när hängslen är ihopkopplade ordentligt.
citerar
I Tcl-språket behövs i många fall inga speciella citat.
Dessa är giltiga strängar:
abc123
4.56e10
my^variable-for.my%use
Tcl-språket delar upp ord på whitespace, så alla bokstäver eller strängar med whitespace bör citeras. Det finns två sätt att citera strängar. Med hängslen och med citattecken.
{hello world}
"hello world"
Vid citeringar med hängslen utförs inga ersättningar. Inbäddade hängslen kan komma undan med en backslash, men observera att backslashen är en del av strängen.
% puts {\{ \}}
\{ \}
% puts [string length {\{ \}}]
5
% puts {hello [world]}
hello [world]
% set alpha abc123
abc123
% puts {$alpha}
$alpha
När du citerar med dubbla citat bearbetas kommando, backslash och variabla ersättningar.
% 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 "\{ \}"
{ }