Что означает обратный слеш в TCL? - PullRequest
6 голосов
/ 05 июля 2011

У меня вопрос по "\" в TCL

Я вижу следующий фрагмент кода:

proc ::A::B {c \
             d \
             e \
             f 
}

что означает это "\" в списке параметров?

Может ли кто-нибудь помочь мне в этом?

Ответы [ 2 ]

5 голосов
/ 05 июля 2011

Как указано в определении языка ,

\ пробел

Один символ пробела заменяет обратную косую черту, символ новой строки и все пробелы и символы табуляции после новой строки.Эта последовательность обратной косой черты является уникальной в том смысле, что она заменяется отдельным предварительным проходом перед фактическим анализом команды.Это означает, что он будет заменен, даже если он будет заключен в фигурные скобки, а полученное пространство будет рассматриваться как разделитель слов, если он не заключен в фигурные скобки или кавычки.

Это означает, что вашпример:

proc ::A::B {c \
             d \
             e \
             f 
}

равно точно эквивалентно этому (обратите внимание на интервал):

proc ::A::B {c  d  e  f 
}

Учитывая, что это будет неправильный вызов обычного proc команда, я подозреваю, что вы немного подрезали свой пример кода.: -)

5 голосов
/ 05 июля 2011

Обратная косая черта \ в конце строки в Tcl указывает продолжение строки . Итак, ваше утверждение точно такое же как:

proc ::A::B {c d e f}

за исключением того, что он разбит на несколько строк исходного текста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...