Я понимаю, что оператор if в Tcl требует скобок { }
вместо круглых скобок ()
.Как он анализирует пробел в круглых скобках в операторе If
Однако следующий (ошибочный) код печатает "Aha!"
потому Tcl, кажется, чтобы иметь возможность интерпретировать, если условие правильно:
set flow_control 1
if ($flow_control==1) {
puts "Aha!"
}
Однако следующий (с пробелами) терпит неудачу с «несбалансированной открытой Paren в выражении" (1" »
set flow_control 1
if ($flow_control == 1) {
puts "Aha!"
}
И, конечно же, с помощью фигурных скобок либо с или без скобок, с пробелами или без работы:
set flow_control 1
if {$flow_control == 1} {
puts "Braces rule!"
}
Мой вопрос: почему второй случай терпит неудачу?
Ответ удаленных участников на the if statement in TCL ясно объясняет разницу между скобками и скобками, но я не могу понять, почему пробелы приводят к сбою второго блока.
Благодарим вас за очень четкое объяснение. – bagelfire