Ссылки
Поиск
Привет, Гость
Обновления на форуме
| Блок новостей в виде блога 2 >> |
| Игры для сайта 34 >> |
| Сервис создания тестов 94 >> |
| Дед 1 >> |
| На сайте регистрация пользователей спамом 3 >> |
Бесплатные системы управления имеют меньше ошибок, так как чаще используются и протестированы многими людьми.
Статьи → Статьи → Разработка сайтов → Почему не работает global внутри функции
Итак, давайте приоткроем завесу тайны, почему не срабатывает подобный код:
Цитата: a=0 То есть переменная не передалась в функцию, и значение её не вернулось назад. Такого не может быть, скажете. И будете неправы — хоть ни в каких мануалах об этом нет ни слова.Убив однажды не один день на поиск ошибки (мне в страшном сне не снилось, что переменная не передалась в функцию), я начал логировать все подряд — все переменные, выводы функций, пошагово. И обнаружил такое вот странное поведение — global не работает. Я даже вынес функцию в отдельный файл — она сработала, и тут до меня дошло. Так вот, это МОЖЕТ произойти и с Вами. Если будете включать функцию в функцию, то объявление global во встроенной функции не сработает. Именно это и было в моем случае — функция была в файле, который был включен в другую функцию ![]() Решение простое — ещё до присвоения значения переменной, надо объявить её как global и все сработает. То есть код, который выше, перепишем так:
|
||||
| Дата 2013-04-21 22:43:43 |
Комментировать
Вы не залогинены!
Устал читать? Напиши! Или позвони +375 29 5344286. На связи по будним дням с 800 до 1700.

