- 1
- 2
- 3
- 4
- 5
- 6
- 7
a=[1,2,3,1,2,1,4]
for i in a:
if i is 1:
zzz=222
else:
print zzz
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−102
a=[1,2,3,1,2,1,4]
for i in a:
if i is 1:
zzz=222
else:
print zzz
http://ideone.com/nhqqRU
Сегодня весь день чинил странный баг, смысл которого сводится вот к такой синтетки.
Притом если условие не выполниться на первой итерации http://ideone.com/G3Uf7V , то будет эксепшен.
sbb 21.06.2013 16:23 # +2
guest 22.06.2013 02:26 # −1
if 1 in a then: print 222
myaut 21.06.2013 17:08 # 0
guest 21.06.2013 17:17 # +3
scriptin 21.06.2013 20:20 # +1
А вы хотели Notice, как в PHP?
Vindicar 22.06.2013 00:38 # 0
is тут не к месту, впрочем.
anonimb84a2f6fd141 24.06.2013 18:02 # −1
Если список пустой, вылетало с UnboundLocalError. Для привыкшего к языкам с обьявлением переменных непривычно, и главное - проявляется в рантайме при нужном расположении звезд.
Lure Of Chaos 22.06.2013 01:10 # 0
или как еще пхпшники любят делать
даже иритичиская жаба отказывается компилить такую байду.
bormand 22.06.2013 07:20 # 0
Даже с final'ом компилит: https://ideone.com/PbEcaC
Lure Of Chaos 22.06.2013 08:10 # 0
bormand 22.06.2013 09:53 # 0
Lure Of Chaos 22.06.2013 10:06 # +2
bormand 22.06.2013 10:19 # +1
А это просто следствие того, что переменные не нужно объявлять - без объявления не получится сделать нормальные скопы.
Lure Of Chaos 22.06.2013 10:23 # 0
bormand 22.06.2013 19:30 # +1
2) При объявлении переменных можно получить ворнинги про "uninitialized variable", что иногда полезно.
А так - конечно, можно писать и без этого, но как-то неприятно.
Vasiliy 24.06.2013 10:50 # +2
код из серии "Счастливой отладки суки".
if(чавойта())
$оно=питушня();
хуита($оно);
bormand 24.06.2013 12:00 # +1
Нотис же будет, если чавойта() не выполнится не?
хуита 22.06.2013 07:26 # −1
Даже в Node.js при 'use strict' уже будет эксепшен.
>Разумеется будет эксепшен.
И этозамечательно! Лучше ловить эксепшены, чем чинить баги.
>Весь день??
Так я на отходосах был.
Lure Of Chaos 22.06.2013 10:09 # +6
как сказал один мой коллега,
1024-- 22.06.2013 19:11 # +1
Эксепшн будет только, если не писать "var" (но какой JS без var?), а аналог питонокода, представленный мной выше, успешно отработает, и это норма.