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