2014-09-23 3 views
1

В Tcl мы используем обратную косую черту для экранирования специальных символов, а также для распространения длинных команд на нескольких линиях.Использование последовательности обратной косой черты в Tcl

Например, типичный if цикл может быть записан в виде

set some_Variable_here 1 
if { $some_Variable_here == 1 } { 
    puts "it is equal to 1" 
} else { 
    puts "it is not equal to 1" 
} 

С помощью обратной косой черты, он может быть записан следующим образом слишком

set some_Variable_here 1 
if { $some_Variable_here == 1 } \ 
{ 
    puts "it is equal to 1" 
} \ 
else { 
    puts "it is not equal to 1" 
} 

Таким образом, с обратной косой черты, мы можем сделать которые должны обрабатываться так, как будто они находятся в одной строке.

Позволяет рассмотреть set Заявление о

я могу написать что-то вроде как ниже

set x Albert\ Einstein;# This works 
puts $x 

#This one is not working 
set y Albert\ 
Einstein 

Если я пытаюсь двойные кавычки или скобки, то выше один будет работать. Итак, можно ли избежать новой линии с помощью обратных косых черт без двойных кавычек или фигурных скобок?

ответ

2

Последовательность обратного слэша-новая строка-пробел * (то есть пробел пропущен) всегда заменяется одним пробелом. Чтобы получить обратную косую черту, за которой следует новая строка в результирующей строке, используйте \\, а затем вместо \n.

set y Albert\\\nEinstein 
+0

Спасибо Донал. :) – Dinesh

Смежные вопросы