- 1
@items = keys %{{ map { $_ => 1} @items }};
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−121
@items = keys %{{ map { $_ => 1} @items }};
Удаление повторов из массива.
Вроде и не ГК, но, блин, такие вырвиглазные конструкции меня порой убивают... Мои глаза...
Lure Of Chaos 17.07.2010 19:45 # −2
Dummy00001 18.07.2010 00:18 # −1
Lure Of Chaos 18.07.2010 11:35 # −1
Dummy00001 18.07.2010 11:46 # +3
http://www.perl.com/pub/a/2000/10/begperl1.html
Lure Of Chaos 18.07.2010 12:00 # −4
Dummy00001 18.07.2010 12:09 # 0
читать код на порядок сложнее чем писать. когда пишешь, знаешь что/зачем делаеться. когда читаешь, нужно буквально в голове постоянно гадать что думал программист когда писал это.
если бы код было легко читать, тогда все бы делали рутинно код ревью. и качество софта в среднем было бы на порядок выше того что мы имеем сейчас.
malleus 19.07.2010 16:24 # 0
написанное однажды - не читается никогда
inkanus-gray 19.07.2010 16:27 # 0
Например, вот такое: http://www.de.ioccc.org/2000/bmeyer.c
turdman 19.07.2010 16:28 # 0
Второй - это бытность частью production системы
inkanus-gray 19.07.2010 16:31 # 0
Анонимус 17.07.2010 21:48 # 0
Dummy00001 18.07.2010 00:19 # 0
Мистер Хэнки 18.07.2010 05:19 # 0
mac-t 24.07.2010 10:27 # 0
Говнокод однозначно.
Надо было делать splice внутри кода map а то убивается порядок элементов массива
bildja 18.07.2010 17:12 # 0
Neolite 19.07.2010 07:52 # 0
bildja 19.07.2010 10:30 # 0
Neolite 19.07.2010 11:00 # 0
Первая пара создает из хэша ссылку. Если перед ними добавить еще и % perl решит, что возвращаемое значение уже является ссылкой и вы просто пытаетесь его разыменовать. Вообще "%{ }" - оператор разыменования. Просто % сработает только для явного указания скаляра - %$hash_ref.
bildja 19.07.2010 12:07 # 0
ichesnokov 19.07.2010 12:04 # 0
Neolite 19.07.2010 13:09 # 0
Neolite 19.07.2010 07:50 # 0
ichesnokov 19.07.2010 12:08 # 0
Хотя для улучшения читабельности можно использовать функцию uniq из модуля List::MoreUtils или что-то подобное.
zantor 20.07.2010 18:58 # +2
В таком случае порядок элементов сохраняется.
roskomgovno 04.07.2018 23:13 # 0
tuberkulez 05.07.2018 06:24 # −1