- 1
- 2
- 3
- 4
- 5
$data = $DB->...
reset($data);
while (list(, $row) = each($data)) {
// do somethig with $row
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+156
$data = $DB->...
reset($data);
while (list(, $row) = each($data)) {
// do somethig with $row
}
Я не понимаю, почему просто не использовать foreach?!
+125
(closer-mop:defclass virtual-metaclass (closer-mop:standard-class) ())
(closer-mop:defclass virtual-slot-definition
(closer-mop:standard-slot-definition)
((function :initarg :function
:accessor virtual-slot-definition-function)))
(defmethod slot-definition-allocation ((slotd virtual-slot-definition))
:virtual)
(defmethod (setf slot-definition-allocation)
(allocation (slotd virtual-slot-definition))
(unless (eq allocation :virtual)
(error "Cannot change the allocation of a ~S"
'virtual-direct-slot-definition)) allocation)
(closer-mop:defclass virtual-direct-slot-definition
(closer-mop:standard-direct-slot-definition
virtual-slot-definition) ())
(defmethod closer-mop:direct-slot-definition-class
((class virtual-metaclass) &rest initargs)
;; Use virtual-direct-slot-definition if appropriate.
(if (eq (getf initargs :allocation) :virtual)
(find-class 'virtual-direct-slot-definition)
(call-next-method)))
(closer-mop:defclass virtual-effective-slot-definition
(closer-mop:standard-effective-slot-definition
virtual-slot-definition) ())
(defmethod closer-mop:effective-slot-definition-class
((class virtual-metaclass) &rest initargs)
;; Use virtual-effective-slot-definition if appropriate.
(let ((slot-initargs (getf initargs :initargs)))
(if (member :virtual-slot slot-initargs)
(find-class 'virtual-effective-slot-definition)
(call-next-method))))
(defmethod closer-mop:compute-effective-slot-definition
((class virtual-metaclass) name direct-slot-definitions)
;; Copy the function into the effective slot definition
;; if appropriate.
(let ((effective-slotd (call-next-method)))
(dolist (slotd direct-slot-definitions)
(when (typep slotd 'virtual-slot-definition)
(setf (virtual-slot-definition-function effective-slotd)
(virtual-slot-definition-function slotd))
(return)))
effective-slotd))
(defmethod closer-mop:slot-value-using-class
((class virtual-metaclass) object slot-name)
(let ((slotd (find slot-name (closer-mop:class-slots class)
:key 'closer-mop:slot-definition-name)))
(if (typep slotd 'virtual-slot-definition)
(funcall (cadr (virtual-slot-definition-function slotd)) :get object)
(call-next-method))))
(defmethod (setf closer-mop:slot-value-using-class)
(value (class virtual-metaclass) object slotd)
(if (typep slotd 'virtual-slot-definition)
;; This is ugly and probably not portable, but what if?
(funcall (cadr (virtual-slot-definition-function slotd))
:set object value)
(call-next-method)))
(defmethod closer-mop:slot-boundp-using-class
((class virtual-metaclass) object slot-name)
(let ((slotd (find slot-name (closer-mop:class-slots class)
:key 'closer-mop:slot-definition-name)))
(if (typep slotd 'virtual-slot-definition)
(funcall (cadr (virtual-slot-definition-function slotd)) :is-set object)
(call-next-method))))
(defmethod closer-mop:slot-makunbound-using-class
((class virtual-metaclass) object slot-name)
(let ((slotd (find slot-name (closer-mop:class-slots class)
:key 'closer-mop:slot-definition-name)))
(if (typep slotd 'virtual-slot-definition)
(funcall (virtual-slot-definition-function slotd) :unset object)
(call-next-method))))
О простоте объектно-ориентированого программирования, или страшная правда, которую от вас так долго скрывали.
Написано по мотивам: http://www.lispworks.com/documentation/lw50/LWUG/html/lwuser-173.htm В попытке сделать это, по возможности, портабельным (на SBCL вроде даже завелось).
Я понимаю, что читать это никто не будет, поэтому, краткий пересказ событий:
Захотелось мне виртуальных свойств, ну тоесть так, чтобы при обращении к Сипипишной библиотеке, для которой я ваяю оберкту не было различий между обычными Лисповыми объектами и Сипипишными.
Простой вариант - скопировать значения, но перформанс же!
И вот родился этот вариант. (Использование не показано, т.как не влезло).
+153
$("div.entry-comment-wrapper").has("p strong a").each( function (i,e){
$.ajax({'url':'http://govnokod.ru/ratings/comment/'+$(e).attr('id').replace('comment-','')+'/against'}) } );
+173
var magnitude = parseInt('10' + new Array(8).join('0'));
вот такое встретилось
+138
p.fANT = Convert.ToUInt16(((devStat & (1 << 13)) != 0 ? "1" : "0") + ((devStat & (1 << 12)) != 0 ? "1" : "0"), 2);
Вот сижу думаю так задуманно или автор сам не понял что написал
+133
private void gv3_HiddenEditor(object sender, EventArgs e)
{
if (cloneDt != null)
{
cloneDt = null;
}
if (cloneCt != null)
{
cloneCt = null;
}
}
Коллега в скайпе поделился говном из одного коммерческого проекта
−126
ТовМат = РегистрыСведений.ТоварнаяМартица;
ГруппаД = Справочники.КлассификацияABC.НайтиПоНаименованию("Д").Ссылка;
ТЗНомен = Запрос.Выполнить().Выгрузить();Ит=0;тСерт = Справочники.СертификатыСоответствия.ПустаяСсылка();
ТЗНомен.Сортировать("Производитель,Сертификат,Номенклатура");
тПроизвод="";
Для Каждого стр Из ТзНомен Цикл
Если Объект.ИсключитьТоварыГруппыД = Истина Тогда
Если стр.Номенклатура.КлассABC = ГруппаД Тогда
Продолжить;
КонецЕсли;
КонецЕсли;
Если стр.Номенклатура.ЭтоГруппа = Ложь Тогда
Если НаличиеВМатрице = истина Тогда
НаборД = ТовМат.СоздатьНаборЗаписей();
// устанавливаем параметры отбора по полному набору Измерений регистра:
НаборД.Отбор.нОменклатура.Установить(стр.Номенклатура.Ссылка);
НаборД.Прочитать();
Если НаборД.Количество() = 0 Тогда
Продолжить;
Конецесли;
КонецЕсли;
Бывший программист из нашей конторы отбирает строки таблицы с номенклатурой, по которой отсутствуют записи в регистре сведений, используя при этом другие "удивительные приемы программирования"... Ушел на повышение в саму 1С)))
+64
int i;
кода на самом деле нет, но это достойно говнокод.ру
на сервере был http метод GET /rest/user/anon/create
по непонятной причине был заменён на POST /rest/user/anon/create1
старый метод теперь возвращает 405 ошибку "Method not allowed" с заголовком Allow: POST, OPTIONS
+136
if(GUI.Button(Rect(100,50,50,50),NewTexture[0]))
{ Change = true; Clicks += 1; GridNumber = 0; }
if(GUI.Button(Rect(150,50,50,50),NewTexture[1]))
{ Change = true; Clicks += 1; GridNumber = 1; }
if(GUI.Button(Rect(200,50,50,50),NewTexture[2]))
{ Change = true; Clicks += 1; GridNumber = 2; }
if(GUI.Button(Rect(250,50,50,50),NewTexture[3]))
{ Change = true; Clicks += 1; GridNumber = 3; }
if(GUI.Button(Rect(300,50,50,50),NewTexture[4]))
{ Change = true; Clicks += 1; GridNumber = 4; }
if(GUI.Button(Rect(350,50,50,50),NewTexture[5]))
{ Change = true; Clicks += 1; GridNumber = 5; }
if(GUI.Button(Rect(400,50,50,50),NewTexture[6]))
{ Change = true; Clicks += 1; GridNumber = 6; }
if(GUI.Button(Rect(100,100,50,50),NewTexture[7]))
{ Change = true; Clicks += 1; GridNumber = 7; }
if(GUI.Button(Rect(150,100,50,50),NewTexture[8]))
{ Change = true; Clicks += 1; GridNumber = 8; }
if(GUI.Button(Rect(200,100,50,50),NewTexture[9]))
{ Change = true; Clicks += 1; GridNumber = 9; }
if(GUI.Button(Rect(250,100,50,50),NewTexture[10]))
{ Change = true; Clicks += 1; GridNumber = 10; }
if(GUI.Button(Rect(300,100,50,50),NewTexture[11]))
{ Change = true; Clicks += 1; GridNumber = 11; }
if(GUI.Button(Rect(350,100,50,50),NewTexture[12]))
{ Change = true; Clicks += 1; GridNumber = 12; }
if(GUI.Button(Rect(400,100,50,50),NewTexture[13]))
{ Change = true; Clicks += 1; GridNumber = 13; }
if(GUI.Button(Rect(100,150,50,50),NewTexture[14]))
{ Change = true; Clicks += 1; GridNumber = 14; }
if(GUI.Button(Rect(150,150,50,50),NewTexture[15]))
{ Change = true; Clicks += 1; GridNumber = 15; }
if(GUI.Button(Rect(200,150,50,50),NewTexture[16]))
{ Change = true; Clicks += 1; GridNumber = 16; }
if(GUI.Button(Rect(250,150,50,50),NewTexture[17]))
{ Change = true; Clicks += 1; GridNumber = 17; }
if(GUI.Button(Rect(300,150,50,50),NewTexture[18]))
{ Change = true; Clicks += 1; GridNumber = 18; }
if(GUI.Button(Rect(350,150,50,50),NewTexture[19]))
{ Change = true; Clicks += 1; GridNumber = 19; }
if(GUI.Button(Rect(400,150,50,50),NewTexture[20]))
{ Change = true; Clicks += 1; GridNumber = 20; }
if(GUI.Button(Rect(100,200,50,50),NewTexture[21]))
{ Change = true; Clicks += 1; GridNumber = 21; }
if(GUI.Button(Rect(150,200,50,50),NewTexture[22]))
{ Change = true; Clicks += 1; GridNumber = 22; }
if(GUI.Button(Rect(200,200,50,50),NewTexture[23]))
{ Change = true; Clicks += 1; GridNumber = 23; }
if(GUI.Button(Rect(250,200,50,50),NewTexture[24]))
{ Change = true; Clicks += 1; GridNumber = 24; }
if(GUI.Button(Rect(300,200,50,50),NewTexture[25]))
{ Change = true; Clicks += 1; GridNumber = 25; }
if(GUI.Button(Rect(350,200,50,50),NewTexture[26]))
{ Change = true; Clicks += 1; GridNumber = 26; }
if(GUI.Button(Rect(400,200,50,50),NewTexture[27]))
{ Change = true; Clicks += 1; GridNumber = 27; }
if(GUI.Button(Rect(100,250,50,50),NewTexture[28]))
{ Change = true; Clicks += 1; GridNumber = 28; }
if(GUI.Button(Rect(150,250,50,50),NewTexture[29]))
{ Change = true; Clicks += 1; GridNumber = 29; }
if(GUI.Button(Rect(200,250,50,50),NewTexture[30]))
{ Change = true; Clicks += 1; GridNumber = 30; }
if(GUI.Button(Rect(250,250,50,50),NewTexture[31]))
{ Change = true; Clicks += 1; GridNumber = 31; }
if(GUI.Button(Rect(300,250,50,50),NewTexture[32]))
{ Change = true; Clicks += 1; GridNumber = 32; }
if(GUI.Button(Rect(350,250,50,50),NewTexture[33]))
{ Change = true; Clicks += 1; GridNumber = 33; }
if(GUI.Button(Rect(400,250,50,50),NewTexture[34]))
{ Change = true; Clicks += 1; GridNumber = 34; }
if(GUI.Button(Rect(400,350,50,50),NewTexture[40]))
{ Change = true; Clicks += 1; GridNumber = 40; }
if(GUI.Button(Rect(450,350,50,50),NewTexture[41]))
{ Change = true; Clicks += 1; GridNumber = 41; }
if(GUI.Button(Rect(500,350,50,50),NewTexture[42]))
{ Change = true; Clicks += 1; GridNumber = 42; }
...
if(GUI.Button(Rect(100,550,65,65),NewTexture[35]))
{ Change = true; Clicks += 1; GridNumber = 35; }
if(GUI.Button(Rect(165,550,65,65),NewTexture[36]))
{ Change = true; Clicks += 1; GridNumber = 36; }
if(GUI.Button(Rect(230,550,65,65),NewTexture[37]))
{ Change = true; Clicks += 1; GridNumber = 37; }
if(GUI.Button(Rect(295,550,65,65),NewTexture[38]))
{ Change = true; Clicks += 1; GridNumber = 38; }
if(GUI.Button(Rect(360,550,65,65),NewTexture[39]))
{ Change = true; Clicks += 1; GridNumber = 39; }
http://answers.unity3d.com/questions/691870/gui-button-not-showing-up.html
+158
$(document).ready(function() {
var links = $("a[href*='shop.mts.ru']");
$.each(links, function(i, val) {
$(val).attr('onclick', "_gaq.push(['_link', '" + $(val).attr('href') + "']); return false;");
});
//for ThreeSmallBanners adfox:
$('a.offer_button').removeAttr('onclick');
});
mts.ru