1. JavaScript / Говнокод #6672

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    if (__captcha.ammount > 0) {
        var captcha = new Array();
        
        for (var i in __captcha.queue) {
            captcha = __captcha.queue[i];
            delete __captcha.queue[i];
            break;
        }
        
        __captcha.ammount--;
        __update();
        
        return captcha;
    }

    Запостил: w100, 14 Мая 2011

    Комментарии (43) RSS

    • for на одну итерацию? кстати, надо еще проверять и тип, потому что могут встретиться и остальные члены обьекта, например, функции
      Ответить
    • char[] String :: trim( void ) {
      	let:int x = 0, L = 0, start = 0, end;
      	let F:bool = true;
      	for (let i:int = 0; this[i] != "\0"; i++): {
      		if F: {
      			if this[i] != " ":
      				F = false;
      			else:
      				++start;
      		}
      		++L;
      	}
      	end = L;
      	F = true;
      	for (let i:int = L - 1; i >= 0; i--): {
      		if F: {
      			if this[i] != " ":
      				F = false;
      			else:
      				--end;
      		}
      		if !F:
      			break;
      	}
      	let R:char[] = new char[end - start];
      	for (let i:int = start; i < end; i++):
      		R[x++] = this[i];
      	return R;
      }
      Ответить
      • Идиот.

        @use Regex.replace from "regex.nvt"
        char[] String :: trim( void ) {
        	return Regex.replace( this, "^\\s+|\\s+$", "" );
        }
        Ответить
        • Взаимно.

          @use char[] String :: removeSpaces( 2 ) from "string21.nvt" as char[] String :: trim( void );
          Ответить
          • LOL, что ещё за 2?
            Ответить
            • 0 — с начала
              1 — с конца
              2 — и там, и там
              Ответить
              • Ты только посмотри на сырцы из либы, мне страшно её подключать:

                char[] ___left(char[] str) {
                	let R:char[] = new char[ len(str) ];
                	let F:int = 1;
                	let x:int = 0;
                	for (let i:int = 0; i < len(str); i++): {
                		if F && str[i] != " ":
                			F = 0;
                		if !F:
                			R[x++] = str[i];
                	}
                	R[x] = "\0";
                	return R;
                }
                
                char[] ___right(char[] str) {
                	let R:char[] = new char[ len(str) ];
                	let F:int = 1;
                	let x:int = 0;
                	for (let i:int = len(str) - 1; i >= 0; i--): {
                		if F && str[i] != " ":
                			F = 0, x = i;
                		if !F:
                			R[i] = str[i];
                	}
                	R[x] = "\0";
                	return R;
                }
                
                char[] String :: removeSpaces( int mode ) {
                	switch (mode) {
                		case 0:
                			return ___left(this);
                		case 1:
                			return ___right(this);
                		case 2:
                			return ___left(___right(this));
                	}
                	return "";
                }
                Ответить
                • len(str) это конечно хуёво, но без него всё просто в ажуре.
                  Ответить
                  • Тест (1e7 вызовов).

                    Моя функция: 1307ms
                    Regex: 4030ms
                    Стандартная: 3723ms
                    Стандартная с закэшированным len(str): 2785ms
                    Ответить
                    • Этих людей можно понять. Сама среда весит 125mb, а вместе с либами 2gb. Чего там только не понаписали.
                      Ответить
                      • Все стандартные либы — говно. Одни регэкспы чего стоят. Поиск по регулярке ^(\w)(?:\1\d\w){3,7}[a-g]{2,}$ 1e7 вызовов занимает 10653ms, мой же движок делает за 312ms.
                        Ответить
                        • Не пизди. Мой только за 9566ms ищет.
                          Ответить
                          • Значит, говнокодер.
                            У меня всё в одном цикле идёт.
                            Ответить
                            • Я блять уже представил твою либу:

                              @use "string.nvt"
                              @use "default.nvt"
                              char[] supermuperfastestfind(char[] str, char[] regex) {
                              	sleep(312);
                              	if str_equal(regex, "^(\\w)(?:\\1\\d\\w){3,7}[a-g]{2,}$"):
                              		return str;
                              	else:
                              		return "хз";
                              }
                              Ответить
                              • Уж не сравнится с твоей:

                                @use "default.nvt"
                                void
                                supermuperxyiuperregex( void ) {
                                	sleep(9566);
                                }
                                Ответить
                                • Это говно даже не скомпилится, ибо для void должен быть return 0 или return gmemc(0) для индусов.
                                  Ответить
                                  • * return null тьфу ты
                                    Ответить
                                    • Не знаю, что происходит при компиляции, но после такой записи:

                                      @def return; null


                                      всё работает. А какой-то мудак вновь выставляет себя ламером.
                                      Ответить
                                      • Кто мудак? Я мудак? При компоновке во все твои быдлофункции типа void добавляется return;

                                        Кто ламер? Я ламер? Смотри, как я круто пишу факториал:

                                        0 ! = 1
                                        a:int ! = a * (a - 1)!


                                        Отсоси.
                                        Ответить
        • Ты выкидыш спидозной шимпанзе, с хуя ли при подключении Regex.replace char[] не пишешь? Компилятору из-за таких хуеплётов, как ты, приходится самому подбирать тип.
          Ответить
          • Хулив ты пиздишь, уёбан? Компилятор, точнее блять компоновщик, вставит первый попавшийся Regex.replace, все юзуемые в нём ф-ции и съебёт нахуй из этой сраной говнолибы regex.nvt! Не знаешь — не пизди, орангутангоёб.
            Ответить
            • strict-парсер пошлёт тебя нахуй с такими запросами, дегенерат. А он, кстати, генерит наиболее быстрый код, не то что другие говнопарсеры, которые пропускают хуйню вроде let x:char = ""; отчего и быдлокодеров развелось.
              Ответить
              • Твой мудацкий скрикт-парсер не пропускает такое:

                int boolToNum( x:bool ) {
                	if x:
                		return 1;
                	else:
                		return 0;
                }


                Чем объяснишь?
                Ответить
                • Потому что блять компилятор не знает, что твоё мудацкое условие точно выполнится. Вот и беспокоится, а не забыла ли кодообезьянка прописать return для всех случаев.
                  Ответить
                  • Ты мудак. После iggl код выглядит так:

                    FNC boolToNum 0X01FE
                    FNC ARG x 0X01FF
                    PROC 0X01FE START
                    0X01FF EQUAL 1 : OUT 1
                    0X01FF EQUAL 0 : OUT 0
                    OUT 0
                    PROC 0X01FE END


                    Эта хуйня выходит с OUT 0 в любом случае, с хуя ли ошибка блять?
                    Ответить
                    • Ты с хуя ли мне код от soft-парсера суёшь блять мудак? За дебила нахуй считаешь? В strict выходит просто с OUT, попадает в нуль-адрес и вот тебе TypeError: должно возвращаться int, а эта хуйня шлёт тебе void.
                      Ответить
                      • Ты дегенерат, OUT без аргумента выдаст ошибку синтаксиса.
                        Ответить
                        • Вы два идиота, где такую хуйню взяли? После iggl код будет такой:

                          STACK 0xFE36 : PROC TO 0xFE38
                          0xFE36 : 0x3E 0xFE15 1 : OUT 1
                          0xFE37 : 0x3E 0xFE15 0 : OUT 0
                          0xFE38 : OUT
                          Ответить
      • А если строка только из пробелов состоит? end уйдёт в ноль, идиот. Надо в цикле условие сделать i >= start.
        Ответить
        • Молодец, на леденец.
          Ответить
          • Сасибо.
            Ответить
            • Пож, Никогда Хуйню не скажу.
              Ответить
              • > Никогда Хуйню не скажу

                Не пизди, мудак.
                Ответить
                • В тему снова пришли два непримиримых гостя: Человек-уёбан и Человек-дегенерат. Наши супергерои обладают разными суперспособностями.
                  Ответить
    • Когда уже начнется профилактика ?
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий