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

    +184

    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
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    function reverse_string(str, len) {
    	if (len == 1) {
    		return str.charAt(0);
    	}
    	if (len == 2) {
    		return str.charAt(1) + str.charAt(0);
    	}
    	if (len == 3) {
    		return str.charAt(2) + str.charAt(1) + str.charAt(0);
    	}
    	if (len == 4) {
    		return str.charAt(3) + str.charAt(2) + str.charAt(1) + str.charAt(0);
    	}
    	if (len == 5) {
    		return str.charAt(4) + str.charAt(3) + str.charAt(2) + str.charAt(1) + str.charAt(0);
    	}
    	if (len == 6) {
    		return str.charAt(5) + str.charAt(5) + str.charAt(3) + str.charAt(2) + str.charAt(1) + str.charAt(0);
    	}
    	if (len == 7) {
    		return str.charAt(6) + str.charAt(5) + str.charAt(4) + str.charAt(3) + str.charAt(2) + str.charAt(1) + str.charAt(0);
    	}
    	if (len == 8) {
    		return str.charAt(7) + str.charAt(6) + str.charAt(5) + str.charAt(4) + str.charAt(3) + str.charAt(2) + str.charAt(1) + str.charAt(0);
    	}
    	if (len == 9) {
    		return str.charAt(8) + str.charAt(7) + str.charAt(6) + str.charAt(5) + str.charAt(4) + str.charAt(3) + str.charAt(2) + str.charAt(1) + str.charAt(0);
    	}
    	if (len == 10) {
    		return str.charAt(9) + str.charAt(8) + str.charAt(7) + str.charAt(6) + str.charAt(5) + str.charAt(4) + str.charAt(3) + str.charAt(2) + str.charAt(1) + str.charAt(0);
    	}
    };

    Переворачивание строки при помощи новейших технологий. Также ожидается движок (по содержанию конечно кусок говна, но по размерам похож), который позволит переворачивать строки любой длины (таким же методом). В-общем, прогноз неутешительный.

    Запостил: eval, 11 Июня 2010

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

    • Искренне жаль разработчиков.
      Ответить
      • Зато заказчик их на всю жизнь запомнит.
        Ответить
    • а как оно к слову на ЖабаСкрипте правильно делается?

      на перле как обычно - `join('', reverse split //)`
      Ответить
      • Мне кажется что на свете нет такого языка, на котором нельзя было бы сделать по крайней мере так:

        function reverse( strString) {
          var nLength = strString.length;
          var arrResult = new Array(nLength);
          var i;
          for(i = 0; i <= nLength; i++) {
             arrResult[i] = strString.charAt(nLength - i);
          }
          return arrResult.join('');
        }
        Ответить
        • я конечно не спец в жабаскрипте, но мне кажется что ты на один символ больше копируешь.

          да и join() на конце не очень эротично. а почему бы в строку сразу это не пихать?
          Ответить
          • я тоже не спец, и мне кажется что строки там иммутибл -- а значит загадим кучу ненужными объектами.

            но eval внизу написал лучше в 1000 раз.
            Я не знал, что у массивов есть reverse.

            А почему на 1 символ больше?
            Ответить
            • > А почему на 1 символ больше?

              i = 0;
              i <= nLength;
              strString.charAt(nLength - i);

              доступ к символу nLength. последний символ есть nLength-1.
              Ответить
            • >иммутибл

              facepalm.js
              не знаешь транскрипцию - не позорься, посмотри в словаре
              Ответить
              • >>транскрипцию - не позорься
                Вы использовали дефис вместо тире.
                Не знаете русского языка -- не позорьтесь
                Ответить
                • > Не знаете русского языка -- не позорьтесь

                  Вы использовали два дефиса вместо тире.
                  Не знаете русского языка — не позорьтесь.
                  Ответить
                  • а ворд заменяет.
                    Жертва Microsoft)

                    продолжаем троллинг?
                    Ответить
                    • Это был троллинг? Тогда я королева островного государства Тонга, мля :)
                      Ответить
                      • В вашем королевстве русский язык — государственный? Кул!
                        Ответить
                        • В Университете Лумумбы изучала
                          Ответить
                          • ВебКилл сменила пол?!
                            Ответить
                          • вместе с программированием, надо пологать;)
                            Ответить
                            • > пологать

                              facepalm.vb
                              Ответить
                              • >vb
                                Ваш любимый язык?
                                Ответить
                                • А что?
                                  Вот ты лучше объясни, ты тут распинался о прелестях знания русского языка, а слово "пологать" пишешь через "о", хотя -лаг-/-лог- проходят в 6 классе.
                                  Ответить
                                  • >>А что?
                                    ничего) я как-то сразу догадался.

                                    Вообще я не распинался, а ответил хамством на хамство товаришчу. Я же не знал, что тут такие граммар-нази кругом.
                                    С грамотностью у меня и правда не очень.. Я больше по компьютерам. А Вы, видимо, по "лаг/лог".:)

                                    Каждому свое
                                    Ответить
                                  • >>-лаг-/-лог-
                                    может быть, -лаг-/-лож- ?
                                    Ответить
                                    • лог = лож, ибо чередование, разницы нет

                                      допустим, слог (сложить) vs. слагать
                                      Ответить
                                      • лол, пиздуй в школу, не стоит засорять говнокод. Очередной fail
                                        http://www.everyday.com.ua/digilet/rusrules.htm#0001
                                        P/S: забыл, каникулы начались :\
                                        Ответить
                                        • Чё ты мне грамматику для школьников суёшь. Вообще-то там А вместо О из-за аблаута, и равняться нужно не на г/ж, а на следующий за корнем -а-.
                                          Наличие -ж- после бузедарного "-о-" это совпадение, потому что -а- при чередовании не может сделать г из ж (только гласные переднего ряда типа -и- могут его аффрикатизировать, да).
                                          Но в русском языке было много выравниваний (особенно среди акающих московитов), поэтому имеем помогать и поклоняться вместо исторически верных помагать и покланяться (ср. укр.)
                                          Я к тому, что ориентироваться по г/ж - это пиздец каким ебанатом надо быть. "Полог" это совершенно не исключение, а закономерная данность. Автора статьи по ссылке - еблан.
                                          Ответить
                                          • лол, более с упоротым школьником, не знающим элементарные правила, спорить не собираюсь.
                                            Ответить
                                            • Ахах, ну ты ж убог. У меня вторая специальность - лингвист, так что соси :)
                                              Ответить
                                              • 1-я мололетний долбоёб, 2-я - лингвист ? Взаимоисключающие параграфы.
                                                Ответить
                                  • Элементарно, Ватсон!
                                    «Пологать» — это посмотреть по логам обучения в Лумумбарии. И выяснить, кто там что вместе с чем изучал!
                                    Ответить
                                    • Всегда ожидал, заходя на говнокод, обсуждения языков, но что-бы так...
                                      Ответить
                                      • :-) бывает, просто каникулы тут у уёбкилла, а моча в голову то давит.
                                        Ответить
                                        • показать все, что скрытопризнай, что ты лох и в гуманитарных науках, и в технических, не то что я.

                                          у тя кроме "школота" и "каникулы" есть что-то в ворт, так сказать, шатце?
                                          Ответить
                                          • >>признай, что ты лох и в гуманитарных науках, и в технических, не то что я.
                                            *ROFL* я упал. Спасибо, посмеялся, больше откомментить немагу, сложно в слезах писать. Эта статья посвящена тебе http://lurkmore.ru/Малолетний_Долбоёб .
                                            Ты ещё забыл сказать, что профессионал в программировании, вот.
                                            Ответить
                                            • Малолетний луркоёб.
                                              Ответить
                                            • Ну вот, я промазал и случайно тебя заплюсовал.

                                              Унылый луркмор не упоминай больше пожалукйтсиа
                                              Ответить
                                              • Смысл твоих +- ? Я б тебе ссылочку на учебники по русскому кинул, но боюсь, авторы ебланы.
                                                ня тебе минус, проверь, не изменился ли размер твоего достоинства.
                                                Ответить
                                                • Блядь, в школьных учебниках объяснено по типу "переменная это такой шкафчик, в котором хранится текст" (видел в учбенике п оинформатике для детей).
                                                  В школьной практике например говорят, что в слове "обуть" нет корня, например, хотя это пиздёж, ибо корень здесь - -у- (тот же, что в слове онуча). Короче сплошной пиздёж, лишь бы ебланы-дети тебя смогли хоть что-то допетрить.
                                                  Ты мне блядь не учебники по русскому для школьников давай, а академическое что-нибудь, за авторством РАН. И вот там-то будет написано, что надо равняться по следующим за корнем -а-/-и-, а не -г-/-ж-, ибо важнее аблаут, чем г/ж.
                                                  Автор вообще там наговнотекстил, "полог - исключение". Ржал ввалялся по полу. Если автор и ты, глупая дура, не в курсе, то корень -лог- в слове полог продолжает индоевропейское чередование языком простым для даунов "e в глаголе/o в отглаг. существительном" (legho: ~ loghos (в русском это лежу/лог), и оно намного старее, чем -а--аблаут (хотя конкретно слово "полог" сконструировано по синхронич. аналогии, но кого ебёт), т.е. это не исключение, а наоборот, правило.
                                                  Но это всё диахрония конечно же, а автор пиздит о синхронии, его можно понять, но всё равно смешно так через жопу всё объяснять и тыкать мне ещё.
                                                  Ответить
                                                  • по-моему ты жутко объелся веществ... :)
                                                    Ответить
                                                  • >>дь, в школьных учебниках объяснено по типу "переменная это такой шкафчик, в котором хранится текст"

                                                    А ты разве не так думаешь?
                                                    Ты в соседней ветке противопоставил процедурное программирование функциональному.

                                                    С таким глубоким невежеством постеснялся бы с порядочными людьми спорить.

                                                    Выростили поколение PHPшников на свою голову, мля
                                                    Ответить
                                                    • > Ты в соседней ветке противопоставил процедурное программирование функциональному.

                                                      А что не так?
                                                      Ответить
                                                  • >>Ты мне блядь не учебники по русскому для школьников давай, а академическое что-нибудь, за авторством РАН.
                                                    Куда тебе академическое ? Школу закончи :-)
                                                    Ответить
                                                    • Не осилил и половины того, что я сказал - так и скажи. То чтоя знаю и в вузах-то не проходят.
                                                      Ответить
                                                      • >>Не осилил и половины того, что я сказал - так и скажи. То чтоя знаю и в вузах-то не проходят.


                                                        да. Твои знания и правда не имеют ничего общего с тем, что проходят в ВУЗах.

                                                        И слава Богу! Иначе вместо программистов везде были бы мартышки типа тебя
                                                        Ответить
                                                      • иди нахуй говно
                                                        Ответить
                                                  • >переменная это такой шкафчик, в котором хранится текст

                                                    ты ебанутый что ли?
                                                    Ответить
                                  • ты, судя по всему, вчера проходил
                                    Ответить
                • Это не столь русский язык, сколько типографика.
                  Кстати о типографике — где точка, Билли?!
                  Ответить
                  • Что-то у вас с головой? Давно проверялись? Думаю, что с таким нестандартным мышлением вы программист точно отменный. :)
                    Ответить
                    • отменёный
                      Ответить
                    • Ой, давно. Плюс институт такой попался, с триединством в виде Мищенко, Ищенко и Кащенко (А также Фоменко, ага).
                      Кащенку (звиняйте за мову!) мы поставляем отменные кадры, что да, то да!
                      Ответить
      • На JS примерно также:

        string.split('').reverse().join('');
        Ответить
        • а для строк разве реверс не годится? string.reverse()?
          Ответить
          • Нету такого.

            javascript: alert(String.prototype.reverse);
            Ответить
            • String.prototype.reverse = function(){
              splitext = this.split("");
              revertext = splitext.reverse();
              reversed = revertext.join("");
              return reversed;
              }
              x = new String('This is a test.');
              document.write(x.reverse());
              Ответить
              • String.prototype.reverse = function(){
                return this.split('').reverse().join('');
                }
                Ответить
                • или так, что короче, я не заморачивался, просто нашел сниппет. Удивительно, но мне еще никогда не нужно было реверсировать строки. в яваскрипте. И даже массивы

                  Кстати, а какая разница в яваскрипте между одинарными и двойными кавычками?
                  Ответить
                  • Да-да. Вы, PHPисты, вообще никогда не заморачиваетесь, говнякаете в меру сил...
                    Ответить
                    • а я и не пхпист. не надо тут шовинизма.
                      даже у вас, у святых, есть ваших три кг говна
                      Ответить
                  • >Кстати, а какая разница в яваскрипте между одинарными и двойными кавычками?

                    Никакой.
                    Ответить
      • на перле это просто reverse $string;
        Ответить
      • javascript:alert("foo".split("").reverse ().join(""))
        Ответить
        • Круто. Возвращает 'oof', неожиданный результат. Это какая-то скрытая багофича JS?
          Ответить
          • А что ему еще возвращать?
            Ответить
            • Ну если сам bugmenot написал это, значит, код должен возвращать что-то другое.
              Ответить
              • попробуйте javascript:alert("ooo".split("").reverse ().join(""))
                Ответить
                • хех, я попрал первенство eval`а с его сниппетом, использующим нетруъ кавычки :-)

                  на самом деле мне стало лень читать чем кончилась королева лумумбы

                  да, "ooo" это хорошая, годная строка для теста :-)
                  Ответить
      • Да так-же тащемто
        "ABC".split('').reverse().join('')
        Ответить
    • http://cssgovnoquery.ucoz.ru/reverse_string.js

      Новейшие технологии позволяют переворачивать строки длиной до 500 символов.
      Ответить
      • И вас туда же. Жду с нетерпением, сцуко :)))
        Ответить
      • Отличный фреймворк, джва года такой хочю! Главная страница тоже решает... Что теперь будет с моим форумом и сайтом? Т_Т
        Ответить
      • Сам генератор написал?
        Ответить
        • Конечно. В интернете готовых вроде нет. Я один такой хернёй занимаюсь.
          Ответить
          • Неужели по человечески сделать было нельзя?
            Или так быстрее?
            Ответить
            • "по человечески" сделал тот же автор (eval) тремя постами выше
              Ответить
              • Я видел. Просто интересно, чем продиктован данный говнокод. Думал, может так оно быстрее, зачем ещё это нужно было делать...
                Ответить
      • Новейшие технологии сдались на 24'067.
        5'833'011'292 байта.
        Ответить
      • Почему вы смеетесь?
        Очевидный прогресс же - раньше длина слова передавалась в функцию - теперь функция сама узнает его длину!
        Ответить
        • следующий этап развития - по данной длине, функция будет восстанавливать исходное слово!
          Ответить
          • не, это будет метод обьекта!
            Ответить
          • А потом мы напишем архиватор, сжимающий любой объём данных до фиксированного размера. И будет всем щастье.
            Ответить
            • это стеб или серьезно?
              ибо задача тривиальна, и была сформулирована и доказана еще Колмогоровым
              Ответить
              • Стёб, ессно. Я ответил на
                > по данной длине, функция будет восстанавливать исходное слово
                Ответить
                • кстати, если учесть, что "*уй", "**зда" и "** твою мать" составляют основную речевую современную часть, то вполне
                  Ответить
            • до одного бита!
              Ответить
    • хм... мне это напоминает Принципиально Новый reverse_string() из BolgenOS SDK
      Ответить
      • учитывая, что болгенос это убунта с попранными копирайтами, то надеюсь, что убунторазрабы такой хней не страдали
        Ответить
    • Особенно порадовало:

      if (len == 1) {
        return str.charAt(0);
      }
      Ответить
    • реквестирую реализацию на крестах на шаблонах (без циклов ессно)
      Ответить

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