Трудности с глобальной переменной

Kirrrrr

Новичок
Регистрация
13.04.2017
Сообщения
24
Благодарностей
0
Баллы
1
Добрый день.

Прошу пояснить новичку. Искал ответ по форуму - не нашел.

Вот мой пример. Суть проекта не важна. Просто хотел проверить работу глобальной переменной.
Простое увеличение счетчика с каждым прогоном проекта работает хорошо. Но я решил добавить еще одно условие "Если глобальная переменная равна 3", то счетчик не прибавляет, а наоборот уменьшает значение глобальной переменной на 1.
И почему-то в этой обработке переменной, которая уменьшает значение на 1, я не могу выбрать ту же самую глобальную переменную, что и в экшене, который увеличивает ее значение. Только новую могу задать.
Можете объяснить, почему? И как нужно скорректировать проект, чтобы заработало то, что я хотел.

И еще вопрос.
Я по образцу первым условием ставил
'{[email protected]}'!=''
т.е. ЕСЛИ ГЛОБАЛЬНАЯ ПЕРЕМЕННАЯ НЕ РАВНА ПУСТОТЕ, то по зеленой ветке шло увеличение счетчика, а по красной - присвоение ей значения ноль.
Я полагал, что если я инвертирую условие на ==
'{[email protected]}'==''
то мне можно поменять местами зеленую и красную ветки, и все будет работать так же. НО НЕТ. Выскакивает ошибка "Переменная не число"

Можете пояснить почему? И что почитать такого из литературы для чайников, чтобы разобраться в правилах написания и пр. (типа C# для чайников или что?)

П.С. И пока я не почитал литературу для чайников - обязательно ли глобальную переменную брать в ковычки? В чем будет разница между двумя вариантами: когда берем в ковычки, когда не берем в ковычки.

Спасибо.
 

Вложения

Последнее редактирование:

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
у тебя её нет вообще и ты её не объявляешь и пытаешься ещё какое то значение увеличить которого вообще нет в проекте, или проверку поставь на существование её и если нет то объви или сразу объяви и присвой значение 0
 

Kirrrrr

Новичок
Регистрация
13.04.2017
Сообщения
24
Благодарностей
0
Баллы
1
у тебя её нет вообще и ты её не объявляешь и пытаешься ещё какое то значение увеличить которого вообще нет в проекте, или проверку поставь на существование её и если нет то объви или сразу объяви и присвой значение 0
Так я как бы следовал рекомендациям официального видеокурса (видео 6 Данные - Обработка переменных) Там говорили, что глобальные переменные задавать не рекомендуется, ибо тогда заданное значение этой глобальной переменной будет при каждом запуске программы вызываться, и счетчик работать не будет. Поэтому рекомендовали начинать с проверки "если глобальная переменная не равна пустоте...", и если равна, то присваивать ей значение ноль.
Собственно, так и делал. Единственное что - в примере выложил инвертированный вариант, где вместо "если глобальная переменная НЕ равна пустоте..." вставлено условие "если глобальная переменная равна пустоте..."
Но он не работает почему-то.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
Так я как бы следовал рекомендациям официального видеокурса (видео 6 Данные - Обработка переменных) Там говорили, что глобальные переменные задавать не рекомендуется, ибо тогда заданное значение этой глобальной переменной будет при каждом запуске программы вызываться, и счетчик работать не будет. Поэтому рекомендовали начинать с проверки "если глобальная переменная не равна пустоте...", и если равна, то присваивать ей значение ноль.
Собственно, так и делал. Единственное что - в примере выложил инвертированный вариант, где вместо "если глобальная переменная НЕ равна пустоте..." вставлено условие "если глобальная переменная равна пустоте..."
Но он не работает почему-то.
Хорошо пусть значение пустота, так ты её объви для начала, у тебя её вообще нет в пректе, и пустоту нельзя увелить можно только присвоить
 

Kirrrrr

Новичок
Регистрация
13.04.2017
Сообщения
24
Благодарностей
0
Баллы
1
Вроде получилось. И уменьшение, и увеличение счетчика работает, но опять же только в том случае, если я в начале напишу:
'{[email protected]}'!=''

Если глобальную переменную указываю без ковычек - на счетчике постоянно 0. Почему так? В чем все-таки разница между указанием глобальной переменной в ковычках и без?

И почему в первоначальном условии == и != не являются взаимозаменяемыми?
 

Вложения

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
..
 

Вложения

Kirrrrr

Новичок
Регистрация
13.04.2017
Сообщения
24
Благодарностей
0
Баллы
1

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
Прошу прощения, не могу найти, чем отличается от того, что я приложил в предыдущем посте
я ведь раз 5-ть написал что ты ничего не сравниваешь, ты проверяешь в своём случае переменную на пустоту которой вообще нет, у тебя не из за пустоты по красной выходило а по ошибке

ЧТОБЫ ЧТО ТО СРАВНИВАТЬ НАДО ОБЪЯВИТЬ
 

Kirrrrr

Новичок
Регистрация
13.04.2017
Сообщения
24
Благодарностей
0
Баллы
1

Кто просматривает тему: (Всего: 4, Пользователи: 0, Гости: 4)