IF(!$s)
$s=1
END_IF
После запуска получаю "Ошибка интерпретации..."
Почему этот код не работает и как делать правильно?
В Clickermann "
!" - это логический оператор сравнения, он не возвращает обратное значение переменной, как это было бы например в JS.
В логическом выражении с оператором должно быть по крайней мере 2 операнда, иначе условие не выполнится.
// так будет работать
IF(0!$s)
print("true")
ELSE
print("false")
END_IF
// или так
IF($s)
print("true")
ELSE
print("false")
END_IF
// или так
IF(true)
print("Истина")
ELSE
print("Ложь")
END_IF
//--------------------------------
// перключатель делается так
$s = $s xor 1 // $s или 1, но не оба одновременно
// то же самое
$s = $s ^ 1