Поиск…


Синтаксис

  • # Это действительный комментарий
  • # Это действительный {комментарий}

Размещение комментариев

Комментарии в Tcl лучше всего воспринимать как другую команду.
Комментарий состоит из # за которым следует любое количество символов до следующей новой строки. Комментарий может появляться везде, где может быть размещена команда.

# 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
     }
  }
}

Брекеты в комментариях

Из-за того, как работает парсер языка Tcl, скобки в коде должны быть правильно согласованы. Это включает скобки в комментариях.

proc hw {} { 
   # this { code will fail
   puts {hello world}
}

Отсутствует близкая скобка: возможная неуравновешенная фигурная скобка в ошибке комментария будет выброшена.

proc hw {} {
  # this { comment } has matching braces.
  puts {hello world}
}

Это будет работать, когда скобки будут спарены правильно.

квотирование

На языке Tcl во многих случаях не требуется специальное цитирование.

Это допустимые строки:

abc123
4.56e10
my^variable-for.my%use

Язык Tcl разбивает слова на пробелы, поэтому любые литералы или строки с пробелом должны быть указаны. Существует два способа указать строки. С фигурными скобками и с кавычками.

{hello world}
"hello world"

При цитировании с помощью фигурных скобок выполнение замещений не выполняется. Встроенные фигурные скобки могут быть экранированы с обратной косой чертой, но обратите внимание, что обратная косая черта является частью строки.

% puts {\{ \}}
\{ \}
% puts [string length {\{ \}}]
5
% puts {hello [world]}
hello [world]
% set alpha abc123
abc123
% puts {$alpha}
$alpha

При цитировании с двойными кавычками обрабатываются команда, обратная косая черта и замены переменных.

% 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 "\{ \}"
{ }


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow