slatazan
С чего бы? Скоуп разный, все верно.
ТребуетсяОбновитьДанныеСреднегоЗаработка = Истина и ТребуетсяОбновитьДанныеУчетаСреднегоЗаработка = Истина
Четыре часа на поиск ошибки.
Наглядный вред динамической типизации с вводом переменных в силу через присваивание.
А второго идентификатора в программе вообще нет нигде, ни в коде ни в свойствах объектов - просто нет.
В питоне такое бы не прошло, несмотря на то, что тоже динамическая типизация и создание переменных через присваивание.
monobogdan
Надо везде учитывать _парэнт_скоуп, как локальный.
Глобалки не разрешают называть свойства классов, если свойство повторяет глобалку.
Свойство блокирует переменки функций, если локал-переменка хочет зваться, как свойство.
Итого.. будет мало багов.
=A=L=X=
Никаких претензий.
Просто моя фантазия..
Если Заработка = Истина: return 1; // надо запретить такое получение значения.
Если Заработка == Истина: return 1;
// Вероятно, условие обязано брать переменки, как _read_only,
// скрывая буфер вычисления для срабатывания входа в блок условия.
Когда кодеру нужн результат условия - он использует факт входа в блок..
var flag1 = 0;
if n == func1(): flag1 = 1;
Ну и можно требовать, чтобы функция не могла быть элементом условия..
var flag1 = 0;
var result1 = func1();
if n == result1: flag1 = 1;
if v := d.get("in_values") and self.is_online( ):
romanshuvalov
глупый компилятор если такое даже не подсветил.