Я пытаюсь выполнить в tclsh следующий код:
set t 2
if { $t > 0 || $t < 30 || $t < 20 } { puts yes }
В оболочке tclsh я получаю следующую ошибку:
syntax error in expression " $t > 0 || $t < 30 || $t < 20 ": character not legal in expressions
Какой персонаж здесь незаконен? Я подозревал, что проблема в '‹', но затем я выполнил эту команду:
if { $t > 0 } { puts yes }
и я получил «да», как и ожидалось.
t
, поскольку -1 меньше 30, а 1000000 больше 0. Будьте очень осторожны с формальным значением ИЛИ и И (на самом деле это то же самое, что и лингвистическое значение, но, как люди, мы часто используем язык небрежно и неправильно используют ИЛИ и И, хотя другие, кажется, волшебным образом понимают, что мы имеем в виду, даже если мы логически неверны) - person slebetman   schedule 10.06.2019